다음을 통해 공유


데이터베이스 미러링 세션에 다시 연결

새 설치: 2006년 4월 14일

데이터베이스 미러링 장애 조치(Failover) 등의 이유로 데이터베이스 미러링 세션에 대해 설정된 연결이 실패하고 응용 프로그램이 초기 서버에 다시 연결하는 경우 데이터 액세스 공급자는 클라이언트 캐시에 저장된 장애 조치 파트너 이름을 사용하여 다시 연결할 수 있습니다. 그러나 다시 연결은 자동으로 수행되지 않습니다. 응용 프로그램에서 오류를 알고 있어야 합니다. 그런 다음 응용 프로그램은 실패한 연결을 닫고 동일한 연결 문자열 특성을 사용하여 새 연결을 열어야 합니다. 이때 데이터 액세스 공급자는 장애 조치 파트너로 연결을 리디렉션합니다. 이 이름으로 식별된 서버 인스턴스가 현재 주 서버이면 일반적으로 연결 시도에 성공합니다. 트랜잭션이 커밋 또는 롤백되었는지가 확실하지 않으면 응용 프로그램에서 독립 실행형 서버 인스턴스에 다시 연결할 때와 같은 방식으로 트랜잭션 상태를 확인해야 합니다.

다시 연결은 연결 문자열이 장애 조치 파트너 이름을 제공한 초기 연결과 유사합니다. 첫 번째 연결 시도가 실패하면 클라이언트가 주 서버에 연결하거나 데이터 액세스 공급자가 시간 초과될 때까지 연결 시도에서 초기 파트너 이름과 장애 조치 파트너 이름을 교대로 사용합니다.

[!참고] SQL 네이티브 클라이언트는 주 서버 인스턴스에 연결하는지 확인하지만 이 인스턴스가 연결 문자열의 초기 파트너 이름에 지정된 서버 인스턴스의 파트너인지 여부는 확인하지 않습니다.

연결에서 TCP/IP를 사용하고 클라이언트가 Windows XP 이상을 사용하는 경우 연결 다시 시도 알고리즘에 의해 각 라운드의 연결 시도에 할당되는 시간이 결정됩니다. 자세한 내용은 연결 다시 시도 알고리즘(TCP/IP 연결용)을 참조하십시오.

ms366199.note(ko-kr,SQL.90).gif중요:
데이터베이스에서 클라이언트의 연결이 끊어지는 경우 데이터 액세스 공급자는 다시 연결을 시도하지 않습니다. 클라이언트는 새 연결 요청을 실행해야 합니다. 또한 연결 손실 시 응용 프로그램이 종료되면 캐시된 파트너 이름도 손실됩니다. 주 서버를 사용할 수 없어 연결이 손실된 경우 연결 문자열의 장애 조치 파트너 이름을 제공해야만 응용 프로그램이 미러 서버에 다시 연결할 수 있습니다.

리디렉션이 클라이언트 응용 프로그램에 미치는 영향

장애 조치 후에 데이터 액세스 공급자는 현재 주 서버 인스턴스로 연결을 리디렉션합니다. 그러나 클라이언트에서 리디렉션을 인식하지 못합니다. 리디렉션된 연결은 초기 파트너 이름으로 식별된 서버 인스턴스에 대한 연결인 것처럼 클라이언트에 표시됩니다. 초기 파트너가 현재 미러 서버인 경우 클라이언트가 미러 서버에 연결되어 있으며 미러 데이터베이스를 업데이트하는 것처럼 보일 수 있습니다. 그러나 클라이언트는 실제로 현재 주 데이터베이스인 장애 조치 파트너로 리디렉션되었으며 새로운 주 데이터베이스를 업데이트하고 있습니다.

장애 조치 파트너로 리디렉션된 후에 클라이언트에서 다른 데이터베이스를 사용하기 위해 Transact-SQL USE 문을 사용하면 예기치 않은 결과가 발생할 수 있습니다. 현재 주 서버 인스턴스(장애 조치 파트너)에 원래 주 서버(초기 파트너)와 다른 데이터베이스 집합이 있을 경우 이런 문제가 발생합니다.

참고 항목

개념

연결 다시 시도 알고리즘(TCP/IP 연결용)
네트워크 프로토콜 및 TDS 끝점
데이터베이스 미러링 개요
데이터베이스 미러링 중에 발생 가능한 오류

관련 자료

SQL Server 데이터베이스 엔진에 연결
Using Connection String Keywords with SQL Native Client
SQL Server Browser 사용

도움말 및 정보

SQL Server 2005 지원 받기