PRB: 'Temp_db' 장치 SQL Server 시작 문제가 발생한다

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

158586
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
현상
tempdb RAM (또는 'tempdb in RAM' 옵션을 명시적으로 설정하여 명령줄에서-f 매개 변수를 사용하여 최소 구성 모드로 시작하여) 에 배치할 수 있도록 SQL Server를 시작하면 SQL Server 'temp_db' 의 장치 이름의 장치가 이미 있는 경우 제대로 시작되지 못했습니다.
원인
tempdb RAM에 배치된 경우 SQL Server 먼저 RAM 장치 'temp_db' 논리 이름으로 만들려고 다음 이 장치에 tempdb 데이터베이스를 만들 것입니다. 장치에 있는 이름 'temp_db 함께' 이미 있으면 sysdevices 테이블 항목을 삽입하려면 시도가 실패합니다. 그리고 tempdb 만들 수 없습니다.

SQL Server 오류 로그에 다음과 같은 일련의 오류 메시지 포함합니다.
고유 인덱스가 'sysdevices' (메시지 2601) 'sysdevices' 개체에 중복 키 행을 삽입할 했습니다.

crdb_tempdb: 수 tempdb RAM으로 이동하거나 RAM 장치 존재하지 않는 만들 수 없거나 tempdb 충분한 공간이 없습니다.

서버 시작 프로세스를 통해 계속하고 가능성이 보고서를 다른 오류 메시지가 나타납니다.



예를 들어, 시작 저장 프로시저) 에서 시작하는 동안 tempdb 사용하려고 하면 다음 오류 메시지가 보고되지 및 서버를 시작할 수 없게 됩니다.
msg 906으로: 시스템 카탈로그 'sysobjects' 'tempdb' 데이터베이스의 sysobjects 있는 행을 찾을 수 없습니다....

msg 615: 데이터베이스 테이블 ID 찾을 수 없습니다 = 2, 이름 = 'tempdb' 중....

서버가 시작된 후 tempdb 액세스하려고 하면 위의 메시지가 기록될 수 있습니다, 있지만 서버가 중지되지 않습니다.

해결 과정
서버를 시작하려는 명령 프롬프트로 이동하여 (예를 들어, SQL Server 6.0, SQL60\BINN 또는 MSSQL\BINN에 대한 SQL Server 6.5) SQL Server가 설치된 BINN 디렉터리를 탐색하십시오. 다음 대/소문자 구분, SQL Server를 시작할 수 있는 다음 명령 줄을 사용하십시오.
sqlservr - c-m - T3609 - T4022



-m 사용을 단일 사용자 모드에서 SQL Server를 시작하여 유의하십시오. 첫 번째 성공한 로그인 후 로그온한 첫 번째 연결을 때까지 모든 후속 요청은 "로그인 실패" 메시지를 받게 됩니다. SQL Server (예: SQL Executive, 성능 모니터 등) 에 로그인해야 하는 자동화된 프로세스를 중지해야 합니다.

SQL Server 시작되면 ISQL/w SQL Server에 연결할 수 있습니다. 사용자가 SQL 엔터프라이즈 관리자를 사용할 수 없게 됩니다 있는지, tempdb 사용하기 때문에) 이러한 시작 매개 변수를 사용할 수 없습니다. 일단 연결되면 다음 명령을 사용하여 SQL Server 시작 시 해당 장치를 만들 수 있도록 'temp_db' 라는 기존 장치에 놓습니다.
'temp_db' sp_dropdevice

tempdb 외에 다른 데이터베이스 장치에 끌어온 확장된 경우 명령을 이러한 데이터베이스의 이름은 보고합니다. 이러한 데이터베이스를 삭제할 수, temp_db 장치가 삭제될 수 있도록 DROP DATABASE 명령을 사용하여 합니다.



위의 단계를 수행하여 후 성공적으로 시작하는 데 실패하면 SQL Server 및 tempdb RAM에 명시적으로 놓이지 있던 경우 다음 명령을 사용하여 tempdb 디스크에 다시 배치할 수 있습니다.
sp_configure 'tempdb in RAM' 0
무시 기능으로

기본 데이터베이스 크기 (일반적으로 2 MB 마스터) 로 기본 장치에 다시 tempdb을 배치해야 합니다. SQL Server를 중지했다가 다시 시작하십시오. 이 시점에서 이름 temp_db 장치와 삭제 및 다른 이름으로 장치를 만들고 이 새 장치에 tempdb 확장합니다 할 것입니다.
sql60 sql65 최소 구성

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

속성

문서 ID: 158586 - 마지막 검토: 02/14/2014 01:56:06 - 수정: 3.0

  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • kbnosurvey kbarchive kbmt KB158586 KbMtko
피드백