Chào các bạn,
Khi kết nối từ một ứng dụng vào Database đặt trên một server nào đó trong mạng LAN hoặc WAN. Chúng ta có thể gặp lỗi này. Lỗi này là một lỗi rất chung chung của Microsoft SQL Server khi không kết nối được với Database Engine.
Nguyên nhân: Như các bạn đã biết, Microsoft SQL Server Database Engine hoạt động dựa trên protocol “TCP/IP” client/server. Database luôn luôn mở một port và lắng nghe các kết nối từ client vào, port mặc định của MSSQL là 1433. Vì một lý do nào đó, khi các client muốn kết nối vào Database Engine bằng các port này nhưng không có sự phản hồi về server.
1. Do đường truyền mạng : Bạn có thể test bằng cách Ping địa chỉ IP hoặc Host Name của máy chủ, lưu ý : Nếu hệ thống mạng của mạng sử dụng DC (Domain Controller) và máy client của bạn có Join vào Domain thì nên thiết lập địa chỉ IP tĩnh cho server và nên thiết lập Host Name của server bạn cũng là Alias trên Domain Controller. Nếu Ping thấy thông suốt có nghĩa là đường truyền mạng không có vấn đề. Chúng ta có thể loại trừ khả năng này
2. Kiểm tra port Database Engine trên máy chủ: Bạn có thể vào server, kiểm tra xem port chạy MSSQL có đang lắng nghe kết nối hay không. Dùng lệnh netstat -a
Nếu hình bên dưới port 1433 đang lắng nghe các ứng dụng từ client kết nối vào, chứng tỏ Database Engine đang chạy, chúng ta có thể loại trừ khả năng này
Hoặc dùng lệnh : netstat -na|find “1433”
3. Kiểm tra Firewall: Trong hai trường hợp trên, nếu bạn đã thử thành công hết, chứng tỏ đường mạng từ Client đến Server hoạt động, dịch vụ Database Engine hoạt động tốt. Vậy đường chuyền dữ liệu port 1433 của bạn từ Server đến client có thể bị chặn bởi Windows Firewall hoặc Firewall của một hãng thứ 3, Firewall của Antivirus v.v.v.
Đối với Firewall của Windows, bạn có thể làm theo hướng dẫn sau để mở port truy cập trên server.
Control panel/Windows Firewall
Tương tự phần outbound bạn cũng thiết lập mở port 1433 như phần Inbound
Thiết lập mở port xong, bạn thử kết nối lại với Server.
Kết luận:
Lỗi kết nối từ client đến Database Engine thường có rất nhiều nguyên nhân, các bạn nên xem lỗi chi tiết để biết cách khắc phục. Còn các lỗi chung chung các bạn có thể làm các bước kiểm tra như Cường đã giới thiệu như trên.
Bài viết hay Cường ơi, thêm vài chủ đề nữa cho nó xôm! cấp quyền, mã hóa…
Đúng là bài viết hay Cường ơi, thêm vài chủ đề nữa đi…
Cảm ơn anh/chị
mình tìm không được tcp thì làm thế nào vậy?
minh mắc lỗi như này làm theo hướng dẩn rồi nhưng không được ban có cach nao khong
Bạn chụp hình gửi mail mình giúp dangvinhcuong@live.com
Hoặc skype: dangvinhcuong