장치가 누락되면 데이터베이스가 주의 대상으로 설정된다

기술 자료 번역 기술 자료 번역
기술 자료: 180500 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR180500
모두 확대 | 모두 축소

현상

SQL Server를 시작하려고 할 때 데이터베이스의 장치 파일을 사용할 수 없으면 데이터베이스가 주의 대상(Suspect)으로 설정됩니다. SQL Server 오류 로그에 다음과 같은 메시지 집합이 나타날 수 있습니다.
오류 메시지 1
96/11/18 10:48:32.60 kernel udopen: Operating System Error 32 (The
process cannot access the file because it is being used by another
process.) during the creation/opening of physical device,
C:\DATA\SQL\MSDB.DAT (or C:\DATA\SQL\MSDB.MDF)

96/11/18 10:48:32.60 kernel udactivate (primary): failed to open
device C:\MSSQL\DATA\MSDB.DAT (or C:\DATA\SQL\MSDB.MDF) for vdn 127
오류 메시지 2
96/11/18 10:48:32.60 kernel udopen: operating system error 2(The
system cannot find the file specified.) during the creation/opening
of physical device C:\MSSQL\DATA\MSDB.DAT (or C:\DATA\SQL\MSDB.MDF)

96/11/18 10:48:32.60 kernel udactivate (primary): failed to open device C:\MSSQL\DATA\MSDB.DAT (or C:\DATA\SQL\MSDB.MDF) for vdn 127
로그에 아래 내용이 이어집니다.
96/11/18 10:48:36.70 kernel udread: Operating system error 6(The
handle is invalid.) on device 'C:\MSSQL\DATA\MSDB.DAT' (or C:\DATA\SQL\MSDB.MDF) (virtpage
0x7f000018).

96/11/18 10:48:36.77 spid11 Error : 840, Severity: 17, State: 2

96/11/18 10:48:36.77 spid11 Device 'MSDBData' (with physical name
'C:\MSSQL\DATA\MSDB.DAT' (or C:\DATA\SQL\MSDB.MDF), and virtual device number 127) is not
available. Please contact System Administrator for assistance.

96/11/18 10:48:36.77 spid11 Buffer 1092480 from database 'msdb'
has page number 0 in the page header and page number 24 in the
buffer header

96/11/18 10:48:37.43 spid11 Unable to proceed with the recovery of
dbid <5> because of previous errors. Continuing with the next
database.
예를 들어 다음과 같이 하면 문제가 나타납니다.
  1. SQL Server를 중지합니다.
  2. 명령 프롬프트의 Mssql\Data 디렉터리에서 다음 명령을 실행합니다.

    ren msdb.dat msdb.sav
  3. SQL Server를 시작합니다.
SQL Server 오류 로그에 위의 오류(두 번째 집합의 오류)가 표시됩니다. 그런 다음 master 데이터베이스에서 아래 쿼리를 실행합니다.
   select name, dbid, mode, status from sysdatabases where dbid =
   db_id('msdb')
				

그러면 다음과 같은 결과가 나타납니다.
   name     dbid   mode   status
   ------------------------------
   msdb      5      0      328
				

328의 상태는 다음을 나타냅니다.
   truncate log on chkpt
   database not recovered yet
   database is suspect
				

자세한 내용은 SQL Server Books Online의 "Sysdatabases (Master Database Only)" 항목을 참조하십시오.

원인

시작할 때 SQL Server는 장치 파일에 대한 단독 잠금을 얻으려고 합니다. 다른 프로세스(예: 백업 소프트웨어)에서 장치를 사용하고 있거나 파일이 누락되면 앞서 설명한 시나리오가 발생합니다. 이 경우 장치와 데이터베이스에는 보통 아무 문제가 없습니다. 데이터베이스를 제대로 복구하려면 장치를 사용 가능하게 만들고 데이터베이스 상태를 다시 설정해야 합니다.

해결 과정

이 문제를 해결하려면 다음과 같이 하십시오. 최종 단계가 매우 중요합니다.
  1. 장치 파일이 실제로 사용 가능한지 확인합니다.
  2. 보조 저장 프로시저 sp_resetstatus를 사용하여 주의 대상 데이터베이스의 상태를 다시 설정합니다. 이 프로시저가 아직 없으면 Mssql\Install 디렉터리에 있는 Instsupl.sql 스크립트를 실행하여 이 프로시저를 만듭니다. sp_resetstatus에 대한 자세한 내용은 SQL Server Books Online의 "Resetting the Suspect Status" 항목을 참조하십시오.
  3. master 데이터베이스에서 주의 대상 데이터베이스에 대해 sp_resetstatus를 실행합니다.
          use master
          go
          exec sp_resetstatus msdb   -- replace msdb with your database name
     
    						
    다음과 같은 출력이 나타납니다.
          Prior to Update sysdatabases attempt for DBName='msdb', the mode=0
          and status=328 (status suspect_bit=256). For DBName='msdb' in
          sysdatabases, status bit 256 was forced Off and mode was forced to
          0. WARNING: You MUST stop/restart SQL Server prior to accessing this
          database!
     
    					
  4. SQL Server를 중지했다가 다시 시작합니다.
  5. 데이터베이스가 복구되어 사용 가능한지 확인합니다.
  6. DBCC NEWALLOC, DBCC TEXTALL, DBCC CHECKDB를 실행합니다.

추가 정보

위의 단계를 수행했는데도 데이터베이스가 주의 대상으로 표시되면 데이터베이스 복구를 방해하는 다른 문제가 있을 수 있습니다. 이 시점에서 정상적인 백업본으로 복원하거나 데이터베이스를 응급 모드로 설정하고 BCP(대량 복사 프로그램)를 사용하여 데이터를 대량 복사하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
165918 INF: 무시(응급) 모드와 DUMP TRANSACTION WITH NO_LOG
중요 문서 165918을 참조하여 작업한 결과에 대해 완전히 확신할 수 없는 경우 주 지원 공급자에 문의하십시오.





Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 180500 - 마지막 검토: 2006년 8월 14일 월요일 - 수정: 5.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
키워드:?
kbprb KB180500
더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 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