BUG: sp_change_secondary_role 있습니다 발행 트랜잭션 로그 백업을 사용할 경우 오류 3101 함께 실패한다

기술 자료 번역 기술 자료 번역
기술 자료: 294397 - 이 문서가 적용되는 제품 보기.
# 버그: 352508 (SHILOH)
모두 확대 | 모두 축소

이 페이지에서

현상

sp_change_secondary_role 실행 로그 전달 쌍의 대기 서버의 저장된 프로시저를 실패하면 3101 오류 메시지와 함께 다음 조건 모두에:

  • 1 값은 @ 종료 인수에 전달됩니다. 해당 이 값은 또한 기본이 매개 이 변수에 대한 유의하십시오.
  • 대기 중인 서버에 적용할 하나 이상의 해결되지 않은 트랜잭션 로그 방법이 있습니다.
이 시점에서 확장 프로시저를 xp_sqlmaint 사용하여 대기 중인 서버에서 RESTORE LOG 작업을 실행하는 경우 출력은 다음과 같습니다.
원본 데이터베이스 - 테스트
대상 데이터베이스 - 테스트
[Microsoft SQL-DMO (ODBC SQLState: 42000)]
오류 3101: 데이터베이스 사용 중이기 때문에 단독 액세스는 [Microsoft] [ODBC SQL Server 드라이버] [SQL 서버] 가져올 수 없습니다.
[Microsoft][ODBC SQL Server 드라이버][SQL 서버]RESTORE LOG 비정상적으로 종료되고 있습니다.
로드된 0 파일
NULL
SERVER1\INST1.test_logshipping 계획 로드가 완료되었습니다.

서버: 메시지 22029, 수준 16, 상태 1, 줄 0
sqlmaint.exe가 못했습니다.

원인

두 서버 간에 로그 전달이 구성되어 있는 경우 보조 또는 대기 중인 서버를 온라인 상태로 필요한 보조 또는 대기 중인 서버를 온라인 상태로 대기 서버에 sp_change_secondary_role 저장 프로시저를 실행할 수 있습니다. 기본 매개 변수 사용하여 sp_change_secondary_role 저장 프로시저를 실행할 저장된 프로시저를 이러한 작업을 수행합니다.

  • 대기 데이터베이스가 단일 사용자 모드로 설정합니다.
  • 복사해야 하는 추가 파일을 복사합니다.
  • 대기 중인 서버에서 복사 작업을 비활성화합니다.
  • 모든 대기 중인 트랜잭션 로그를 복원합니다.
  • 보조 서버의 데이터베이스를 온라인 상태로 만듭니다.
  • 일부 정리 작업 로그 정보를 지금 업데이트해야 하므로 msdb 데이터베이스에 계획 테이블 전달 수행합니다.
= (또한 @ 종료 매개 변수의 기본 입력된 값을) 하는 1 sp_change_secondary_role 저장 프로시저의 @ 종료 값이 전달되는 경우 앞의 시퀀스에서 1 항목을 사용하는 경우
ALTER DATABASE dbname SET SINGLE_USER
명령을 데이터베이스의 상태를 변경하고 RESTORE 작업을 동안 사용자가 연결되어 있는지 확인하십시오. 그러나 ALTER DATABASE 문을 사용하면 연결이 종료될 때까지 실제로 유지되는 공유 데이터베이스 잠금을 수 있습니다. 항목 2 및 4 확장 이 단계를 원래 sp_change_secondary_role 연결 을 spid 다른 서버 프로세스 ID ( spid ) 사용하도록 서버에 별도의 연결을 열어 프로시저를 xp_sqlmaint 사용하여 수행됩니다. 결과적으로 RESTORE LOG 작업 저장된 프로시저 spid 블록 유지되는 공유 데이터베이스 잠금을 해당 xp_sqlmaint 시도합니다 완료합니다. 따라서 sp_change_secondary_role 프로시저가 3101 오류 메시지와 함께 실패합니다.

해결 과정

이 오류를 방지하려면 다음 해결 방법 중 하나를 수행하십시오.
  • 없는지 해결되지 않은 트랜잭션 로그가 전에 sp_change_secondary_role 저장 프로시저를 실행합니다. sp_change_secondary_role 실행하기 전에 보조 서버에서 수동으로 RESTORE 작업 실행 대기 중인 트랜잭션 로그가 없는지 확인합니다.

    - 또는 -
  • 0 값을 전달할 수 있는 @ 종료 매개 변수 종료 @ 0 = sp_change_secondary_role 저장 프로시저를 실행하는 동안. 하지만 사용자가 RESTORE LOG 제대로 작동하는지 확인하기 위해 저장된 프로시저를 실행하기 전에 데이터베이스에 연결된 사용자가 없을 확인해야 합니다.

현재 상태

Microsoft는 이 SQL Server 2000 문제를 확인했습니다.

추가 정보

sp_change_secondary_role 대기 중인 서버를 온라인 상태로 할 때 대기 중인 서버에서 실행되는 시스템 저장 프로시저입니다.

참조

SQL Server 온라인 설명서, 항목: 설정하고 로그 전달 역할 변경을 Transact-SQL 수행하는 방법"

속성

기술 자료: 294397 - 마지막 검토: 2004년 6월 25일 금요일 - 수정: 3.3
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Developer Edition
키워드:?
kbmt kbbug kbpending KB294397 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com