Nội dung bài viết
#

10 bước khắc phục lỗi không connect được SQL Server

Nội dung bài viết

    loi ket noi SQL Server

    Lỗi không conect được với SQL Server là một trong những lỗi khá phổ biến.

    Nếu bạn đang gặp phải tình trạng này và chưa hiểu nguyên nhân do đâu cũng như làm cách nào để khắc phục nó thì bài viết này là dành cho bạn.

    Ok, hãy cùng bắt đầu thôi.

    Lỗi không connect được SQL Server là gì?

    Đặt vấn đề: Không phải lúc nào bạn cũng có thể kết nối với SQL Server một cách mượt mà, đôi khi sẽ gặp một số sự cố với các thông báo như sau:

    ERROR: (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) (Microsoft SQL Server, Error:) An error has occurred while establishing a connection to the server. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 5)

    Hoặc:

    An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 1326)

    Hoặc:

    A network-related error or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 – No such host is known.) (Microsoft SQL Server, Error: 11001)

    Nguyên nhân xảy ra lỗi không connect được SQL Server

    Những lỗi này thường xuất phát từ các Named Pipes hoặc kết nối TCP/IP có vấn đề.

    Ok, Tiếp theo chúng ta sẽ tìm hiểu cách khắc phục lỗi không connect được SQL Server.

    Cách khắc phục lỗi không connect được SQL Server

    Bằng một nguyên nhân nhất định nào đó mà các lỗi này sẽ xuất hiện khi bạn đang cố gắng kết nối với SQL server. Hãy thực hiện các bước sau đây để xem có thể khắc phục được các sự cố đó hay không.

    Bước 1 – Kiểm tra xem bạn có thể ping SQL Server box không

    Bạn cần đảm bảo rằng ping được máy chủ vật lý, bởi nó là nơi chứa SQL server sau khi cài đặt. Nếu không, bạn chỉ còn cách kết nối với SQL server bằng địa chỉ IP hay địa chỉ IP/Instance Name cho phiên bản được đặt tên.

    Cach khac phuc loi ket noi SQL Server-buoc1.1

    Trong trường hợp bạn kết nối bằng địa chỉ IP, có thể bổ sung SQL server vào tệp tệp /etc/host. Nhập % SystemRoot% \system32 \drivers\ etc\ để thêm mục nhập cho tệp /host, sau đó mở host bằng công cụ Notepad. Dựa vào hình ảnh bên dưới bạn có thể thấy, địa chỉ IP 74.200.243.253 và tên máy là SQLDBPool đã được thêm vào, đồng nghĩa với việc bạn có thể sử dụng tên máy là SQLDBPool để kết nối với SQL server thay vì dùng địa chỉ IP.

    cach khac phuc loi ket noi SQL Server-buoc2

    Bước 2 – Kiểm tra xem các dịch vụ SQL đang chạy

    Để có thể kiểm tra trình trạng hoạt động của SQL server bạn có thể dùng câu lệnh SC hoặc Trình quản lý cấu hình SQL server. Lúc này bạn có thể xác định được các phiên bản SQL đang hoạt động cũng như không hoạt động.

    Sử dụng trình quản lý cấu hình máy chủ SQL

    Bạn có thể sử dụng Trình quản lý cấu hình SQL Server để xác minh các dịch vụ đang chạy. Nếu như không thể tìm thấy, bạn có thể tham khảo ví dụ sau đây:

    cach khac phuc loi ket noi SQL Server-buoc2.1

    Sử dụng lệnh SC

    Trên hệ điều hành Windows, bạn có thể dựa vào dòng lệnh sau đây để xem trạng thái hoạt động của SQL server.

    cach khac phuc loi ket noi SQL Server-buoc2.2

    Lưu ý: Đối với các phiên bản SQL đã đặt tên, bạn cần viết lệnh với tên chính xác của phiên bản mới có thể truy xuất được trạng thái hoạt động. Bạn có thể sử dụng instancename để thay thế tên phiên bản SQL server thực tế.

    {{EJS0}}

    Bước 3 – Kiểm tra xem dịch vụ Trình duyệt SQL Server có đang chạy không

    Nếu phiên bản SQL server của bạn chưa được cấu hình một cổng TCP/IP riêng biệt, thì rất có thể các yêu cầu của bạn sẽ được lắng nghe bởi một cổng dynamic. Vấn đề này sẽ được khắc phục khi bạn bật và chạy dịch vụ SQL server. Đồng thời bạn có thể kiểm tra trạng thái hoạt động của nó bằng Trình quản lý Cấu hình Máy chủ SQL hoặc lệnh SC như sau:

    cach khac phuc loi ket noi SQL Server-buoc3

    Bước 4 – Kiểm tra xem bạn có đang sử dụng đúng tên phiên bản SQL Server không

    Hãy luôn đảm bảo rằng bạn đang sử dụng đúng tên phiên bản khi kết nối SQL server. Đối với trường hợp kết nối với một phiên bản mặc đình thì tên mát là một đại diện tốt nhất để thay thế cho tên phiên bản. Để chỉ định tên phiên bản bạn có thể dùng lệnh như sau: machinename\instancename, instancename là nơi mà bạn nhập tên cho phiên bản SQL.

    Bước 5 – Kiểm tra xem bạn có thể tìm thấy máy chủ SQL không

    Để chắc chắn rằng SQL server luôn trong tình trạng có kết nối mạng, bạn có thể dụng lệnh SQLCMD -L để kiểm tra tình trạng cài đặt mạng của SQL server.

    Lưu ý: Câu lệnh chỉ trả về SQL server đang chạy trên trình duyệt SQL server.

    cach khac phuc loi ket noi SQL Server-buoc5

    Bước 6 – Kiểm tra xem TCP/IP và Named Pipes đã được bật chưa

    Bạn cũng cần xác minh lại xem các port, giao thức TCP/IP và Named Pipes đã được bật hay chưa. Bạn có thể kiểm tra bằng cách mở SQL Server Configuration Manager và kiểm tra các giao thức SQL Server Network Configuration. Nếu Named Pipes và TCP/IP vẫn chưa được bật, hãy kích hoạt để nó hoạt động.

    cach khac phuc loi ket noi SQL Server-buoc6.1

    Để kiểm tra giao thức TCP/IP, bạn nhấp chuột phải và chọn Properties để có thể kiểm tra toàn bộ thông tin về cổng giao tiếp TCP/IP. Thông thường cổng sẽ được để mặc định là 1433, tuy nhiên vì một số lý do bảo mật mà nó có thể bị thay đổi.

    cach khac phuc loi ket noi SQL Server-buoc6.2

    Bước 7 – Kiểm tra xem đã bật cho phép kết nối từ xa cho máy chủ này chưa

    Để kiểm tra xem đã bật cho phép kết nối từ xa hay chưa, bạn vào SSMS, nhấp chuột phải và tên phiên bản và chọn Properties, chọn vào Connections và kiểm tra xem đã chọn vào ô Allow remote connections to this server hay chưa, nếu chưa hãy chọn vào nó. Nếu bạn có bất kỳ thay đổi nào hãy khởi động lại SQL server, lúc này những thứ bạn thay đổi mới có thể hoạt động.

    cach khac phuc loi ket noi SQL Server-buoc7

    Bạn cũng có thể định cấu hình các kết nối máy chủ từ xa bằng các lệnh dưới đây. Nếu bạn thực hiện các thay đổi, bạn sẽ cần phải khởi động lại SQL Server để những thay đổi này có hiệu lực.

    Ngoài ra, bạn còn có thể định cấu hình kết nối máy chủ từ xa nhờ vào các lệnh sau đây. Hãy nhớ rằng luôn khởi động lại SQL server thì các thao tác mà bạn thực hiện mới có hiệu lực.

    Cài đặt bằng lệnh dưới đây sẽ trả về kết quả tương tự như cài đặt trong Properties

    {{EJS1}}

    Bước 8 – Kiểm tra số cổng mà SQL Server đang sử dụng

    Để kiểm tra lỗi đã được ghi lại bạn có thể sử dụng XP_READERRORLOG hoặc SSMS bằng cách vào Management > chọn SQL Server Logs > sau đó chọn select the Current log. Ở cuối trang, các mục đầu tiên chính là lỗi được ghi, các thông tin tiếp theo là Named Pipes và TCP/IP đã được kích hoạt, cuối cùng là cổng đang được sử dụng 1433.

    cach khac phuc loi ket noi SQL Server-buoc8

    Bước 9 – Kiểm tra xem Firewall không chặn quyền truy cập vào SQL Server

    Để định cấu hình Configure the Windows Firewall cho cổng SQL Server và dịch vụ Trình duyệt SQL Server. Bạn vào Control Panel -> Chọn Windows Firewall -> Click vào tab Exceptions, tại đây bạn sẽ được cung cấp các thông tin về Configure Windows Firewall để có thể làm việc với SQL server.

    cach khac phuc loi ket noi SQL Server-buoc9.1

    Chọn vào Add Port … sau đó nhập số port và tên phiên bản SQL

    cach khac phuc loi ket noi SQL Server-buoc9.2

    Để thêm dịch vụ SQL server bạn chọn Add Program…, đường dẫn thực thi dịch vụ thường được lưu ở C:\Program Files\Microsoft SQL Server\90\Shared location đối với SQL 2005, còn các SQL server khác bạn cũng có thể lấy đường dẫn tương tự. Tiến hành duyệt qua các vị trí sau đó thêm SQLBrowser.exe vào danh sách Exceptions.

    Bước 10 – Kiểm tra xem Service Principal Name đã được đăng ký chưa

    Trong trường hợp bạn có thể kết nối được với SQL khi đăng nhập thủ công vào máy chủ nhưng không kết nối được từ máy khách thì có thể Service Principal Name của bạn đang có vấn đề. Bạn hãy dùng câu truy vấn dưới đây để có thể kiểm SPN đã được đăng ký hay chưa.

    {{EJS2}}

    Nếu không thể xác định được SPN, có nghĩa là chưa được đăng ký, lúc này bạn có thể tham khảo Register a Service Principal Name for Kerberos Connections hay How to Configure an SPN for SQL Server Site Database Servers để biết được cách thiết lập là đăng ký SPN.

    Tổng kết về lỗi không connect được SQL Server

    Hy vọng những thông tin bổ ích trên sẽ giúp bạn khắc phục được lỗi không connect được SQL Server.

    Nếu bạn còn bất cứ câu hỏi nào liên quan lỗi kết nối SQL Server, hãy để lại bình luận ở bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

    P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

    Mua tên miền .VN tại BKHOST

    Giá chỉ từ 750k/năm. Kiểm tra tên miền .VN đẹp và đăng ký ngay hôm nay!

    đăng ký tên miền .vn

    Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
    Bình luận

    Trượt lên đầu trang
    Gọi ĐT tư vấn ngay
    Chat ngay qua Zalo
    Chat ngay qua Messenger
    Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?
    Cảm ơn lượt bình chọn của bạn, Chúc bạn 1 ngày tốt lành !