몇 가지 기본 연결 테스트를 시도하십시오.
- 5022, 5023 및 5024가 청취 중인지 확인하십시오.
- 사용중인 서버 이름이 올바른지 확인하십시오.
명령 행에서 :
netstat -an
내 서버에서 5022가 듣고 있음을 알 수 있습니다.
다음으로 텔넷을 통해 해당 포트에 연결할 수 있는지 확인하십시오
telnet fully-qualified-server-name 5022
미러링 모니터 속성 GUI 의 참고 섹션에서 감시 필드 바로 아래에 언급 된 것처럼 서버 이름은 완전한 tcp 주소 여야합니다.
검은 색 화면 만 표시됩니다. 이 예에서는 연결이 실패하는 이름을 선택했습니다. "연결을 열 수 없습니다"가 표시되면 미러, 주 서버 및 감시 서버로 정의 된 서버에 연결할 수 없거나 올바른 이름을 사용하고 있지 않은 것입니다.
텔넷 클라이언트는 Windows 2008의 기능 아래에 추가 할 수 있습니다.
Windows 2008에서 컴퓨터를 마우스 오른쪽 버튼으로 클릭하면 전체 컴퓨터 이름을 볼 수 있습니다. 명령 행에서도 ping 할 수 있어야합니다. 예 : 핑 myservername
최신 정보
각 SQL Server 인스턴스에서 다음 쿼리를 실행하고 결과를 질문에 넣으십시오. 이러한 많은 문제 해결 팁은 다음 사이트에서 제공됩니다. http://msdn.microsoft.com/en-us/library/ms189127.aspx
tcp 엔드 포인트 표시
SELECT type_desc, port FROM sys.tcp_endpoints;
미러링 끝점의 상태 표시
SELECT state_desc FROM sys.database_mirroring_endpoints;
ROLE이 올바른지 확인하십시오
SELECT role FROM sys.database_mirroring_endpoints;
엔드 포인트에 대한 권한 표시
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
다른 서버 인스턴스에서 서비스 계정에 로그인하려면 CONNECT 권한이 필요합니다. 다른 서버의 로그인에 CONNECT 권한이 있는지 확인하십시오. 끝점에 대한 CONNECT 권한이있는 사람을 확인하려면 각 서버 인스턴스에서 다음 Transact-SQL 문을 사용하십시오.
출력 예 :
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는 (CO) 연결 권한이 할당 된 계정이고 Grantee는 연결 권한이있는 계정입니다.
명령 행에서 ipconfig /all
호스트 이름이 리턴하는 내용을 확인하십시오.