2009. 10. 6. 16:34
SQL Server Single User Mode Work/SQL Server2009. 10. 6. 16:34
tempdb 위치를 이동하려던 중 실수로 mdf/ldf 의 파일이름을 모두 동일하게 작성해서 실행했었던 때가 있다.
tempdb의 위치 이동을 하면 mssql을 재시작 해야 작업했던 위치로 tempdb가 이동되지만, mdf/ldf 의 파일이름이 같으므로 mssql은 재시작하다 오류 메시지를 띄우면서 재시작이 안된다.
참고로, 이벤트 로그에는 "SQL Server (MSSQLSERVER) 서비스가 서비스 특정 오류 1814 (0x716) 때문에 종료되었습니다." 라고 기록된다.
이 때 Single User Mode로 MSSQL을 실행하고 잘못된 설정을 바로 잡고, 다시 mssql을 실행하면 된다.
작업 순서는 아래와 같다.
1. MSSQL Server 와 상관있는 모든 서비스를 중지한다. (SSIS, SSRS, SSFTS)
SSIS : SQL Server Integration Service
SSRS : SQL Server Reporting Service
SSFTS : SQL Server Full Text Search
2. cmd 에서 sqlservr -c -f -T3608 -T4022 를 실행한다. 경로는 대부분 아래와 같다.
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\
3. 2.에서 실행한 cmd는 내버려 두고, SSMS(SQL Server Management Studio) 혹은 QA(Query Analyser)로 접속을 시도한다.
4. 잘못된 설정을 바로 잡는다.
5. SSMS 혹은 QA를 종료하고, 2.의 cmd 도 종료한다.
6. SQL Server 를 시작한다.
p.s.
위의 상황이 발생했지만, http://dbrang.tistory.com/220 에 나온 그대로 해보고 재시작 되서 정말 다행이었다. --;;