Hãy thử một số bài kiểm tra kết nối cơ bản.
- Xác minh rằng 5022, 5023 và 5024 đang lắng nghe.
- Xác minh rằng tên máy chủ bạn đang sử dụng là chính xác.
Từ dòng lệnh:
netstat -an
Trên máy chủ của tôi, bạn có thể thấy 5022 đang lắng nghe.
Tiếp theo hãy chắc chắn rằng bạn có thể kết nối với các cổng đó qua telnet
telnet fully-qualified-server-name 5022
Vì nó đề cập đến trong phần Ghi chú của GUI Thuộc tính phản chiếu, ngay bên dưới trường nhân chứng, tên máy chủ phải có địa chỉ tcp đủ điều kiện.
Bạn chỉ nên nhìn thấy một màn hình đen. Trong ví dụ này tôi đã chọn một tên sẽ gây ra lỗi kết nối. Nếu bạn thấy "Không thể mở kết nối", thì (các) máy chủ được xác định là nhân bản, hiệu trưởng và nhân chứng không thể truy cập hoặc bạn không sử dụng đúng tên.
Máy khách telnet có thể được thêm vào dưới Tính năng trong Windows 2008.
Trong Windows 2008, khi bạn nhấp chuột phải vào Máy tính, bạn có thể thấy tên máy tính đầy đủ. Bạn cũng có thể ping nó từ dòng lệnh. ví dụ: ping myservername
Cập nhật
Vui lòng chạy các truy vấn sau trên mỗi phiên bản SQL Server và đặt kết quả vào câu hỏi của bạn. Nhiều mẹo khắc phục sự cố này đến từ: http://msdn.microsoft.com/en-us/l Library / ms189127.aspx
Hiển thị điểm cuối tcp
SELECT type_desc, port FROM sys.tcp_endpoints;
Hiển thị trạng thái của các điểm cuối phản chiếu
SELECT state_desc FROM sys.database_mirroring_endpoints;
Kiểm tra xem ROLE có đúng không
SELECT role FROM sys.database_mirroring_endpoints;
Hiển thị quyền cho điểm cuối
SELECT EP.name, SP.STATE,
CONVERT(nvarchar(38), suser_name(SP.grantor_principal_id))
AS GRANTOR,
SP.TYPE AS PERMISSION,
CONVERT(nvarchar(46),suser_name(SP.grantee_principal_id))
AS GRANTEE
FROM sys.server_permissions SP , sys.endpoints EP
WHERE SP.major_id = EP.endpoint_id
ORDER BY Permission,grantor, grantee;
GO
Việc đăng nhập tài khoản dịch vụ từ phiên bản máy chủ khác yêu cầu quyền CONNECT. Đảm bảo rằng thông tin đăng nhập từ máy chủ khác có quyền CONNECT. Để xác định ai có quyền CONNECT cho điểm cuối, trên mỗi phiên bản máy chủ, hãy sử dụng câu lệnh Transact-SQL sau đây.
Ví dụ đầu ra:
name STATE GRANTOR PERMISSION GRANTEE
TSQL Local Machine G sqladmin CO public
TSQL Named Pipes G sqladmin CO public
TSQL Default TCP G sqladmin CO public
TSQL Default VIA G sqladmin CO public
Mirroring G SERVERNAME\Grantor CO SERVERNAME\Grantee
Grantor là tài khoản được cấp quyền kết nối (CO), Grantee là tài khoản có quyền kết nối
Từ dòng lệnh chạy ipconfig /all
và lưu ý những gì Tên máy chủ trả về.