BUG: 트랜잭션 로그 백업 가능한 LDF 자동 작성 후

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

257855
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
# 버그: 57670 (sqlbug_70)
현상
(예를 들어, 파일을 바꾸거나 삭제할 경우) SQL Server 시작 중에 데이터베이스의 로그 데이터 파일 (LDF) 사용할 수 없는 경우 SQL Server 7.0 때때로 LDF 파일이 자동으로 데이터베이스 가용성을 보장하기 위해 다시 시도합니다.

원래 LDF 파일의 정보가 손실되기 때문에 이 프로세스가 기존 일련의 트랜잭션 로그 백업 중단합니다. 새 전체 데이터베이스 백업이 트랜잭션 로그 백업을 새 시퀀스를 시작하기 위해 수행해야 합니다.

그러나 SQL Server 이 지금은 명백히 올바른 트랜잭션 로그 백업을 수행할 수 있도록 백업 시퀀스가 손상되었습니다 경고 없이.

이러한 있는 잘못된 백업 및 트랜잭션 로그 복원 시도가 다음 나중에 변경하는 작업을 수행할 경우 다음 메시지와 함께 실패합니다.
서버: 메시지 3155, 수준 16, 상태 1, 줄 1
하나 이상의 파일이 추가되거나 백업 세트를 만든 후 데이터베이스에서 삭제된 RESTORE 작업을 계속할 수 없습니다.

서버: 메시지 3013, 수준 16, 상태 1, 줄 1
백업 또는 복원 작업이 비정상적으로 종료되고.
해결 과정
이 문제를 해결하려면 다음 중 하나를 수행하십시오.
  • LDF 파일이 삭제되거나 이름이 있는 않는 것을 확인하십시오.

    - 또는 -
  • 트랜잭션 로그 백업 시퀀스를 통해 시작하려면 전체 데이터베이스 백업을 수행하십시오.
현재 상태
Microsoft는 이 SQL Server 7 .0의 문제를 확인했습니다.
추가 정보

문제를 재현하는 방법

  1. 다음 문을 사용하여 데이터베이스 만들기, 데이터, 삽입 및 백업 계열을 시작할:
    create database testgouse testgocreate table t (c int)goinsert into t values (1)gobackup database test to disk='c:\test_dump.bak' WITH INITgoinsert into t values (2)gobackup log test to disk='c:\test_dump.bak' WITH NOINITgoinsert into t values (3)gouse master
  2. SQL Server 데이터베이스에 대한 새 LDF 파일을 시작할 때 만들 수 있도록 다음과 같이 하십시오.
    1. 사용자가 데이터베이스에 연결되어 있는지 확인하십시오.
    2. SQL Server 서비스를 중지하십시오.
    3. test_log.ldf 파일을 이름을 바꿉니다.
    4. SQL Server 서비스를 시작하십시오.
  3. 항목 새 LDF 파일이 만들어졌는지 확인하려면 SQL Server 오류 로그에 다음과 같은 종류의 확인하십시오.
    파일 c:\MSSQL7\data\test_log.LDF - 활성화할 수 없습니다. 존재하지 않습니다.
    데이터베이스 테스트 주 로그 파일을 다시 시도하는 중입니다.
    ...
    새 로그 파일 f:\MSSQL7\data\test_log.LDF 빌드된입니다.
  4. 다음 문을 사용하여 백업 체인이 계속:
    use testgoinsert into t values (4)gobackup log test to disk='c:\test_dump.bak' WITH NOINITgo


  5. 다음 명령문을 사용하여 testrestore 라는 새 데이터베이스 백업을 복원해 보십시오:
    RESTORE DATABASE testrestore   FROM disk='c:\test_dump.bak'   WITH NORECOVERY,    MOVE 'test' TO 'c:\testrestore.mdf',    MOVE 'test_log' TO 'c:\testrestore.ldf'RESTORE LOG testrestore   FROM disk='c:\test_dump.bak'   WITH NORECOVERY,FILE = 2RESTORE LOG testrestore   FROM disk='c:\test_dump.bak'   WITH FILE = 3, RECOVERY
이 시점에서 다음과 같은 오류 메시지가 나타납니다.
서버: 메시지 3155, 수준 16, 상태 1, 줄 1
하나 이상의 파일이 추가되거나 백업 세트를 만든 후 데이터베이스에서 삭제된 RESTORE 작업을 계속할 수 없습니다.

서버: 메시지 3013, 수준 16, 상태 1, 줄 1
백업 또는 복원 작업이 비정상적으로 종료되고.
오류 로그

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 257855 - 마지막 검토: 02/06/2014 18:08:56 - 수정: 1.2

Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbpending KB257855 KbMtko
피드백