Windows DB

tempdb 복구 및 이동 방법

2008.05.15 02:39

hostway 조회 수:22793

■ tempdb 복구
  1) tempdb는 SQL Server에서 정렬, GROUP BY를 사용한 집계, 커서 사용, 임시테이블 및 테이블변수 사용,
     일부 JOIN, SORT_IN_TEMPDB 옵션을 사용한 인덱스 생성, 데이터베이스의 복구 작업 등에서 사용됩니다.
  2) 따라서, 손상 시에는 이와 같은 작업들을 진행할 수 없게됩니다.
  3) tempdb의 손상 시 tempdb를 사용하는 작업은 913 오류를 발생하며 정상적으로 실행되지 않습니다.
  4) tempdb가 손상되어 주의 대상 상태인 경우 SQL Server 서비스를 재 시작만하더라도 복구되기도 하지만
     그렇지 않은 경우도 발생
    
     ☞ 이런 경우 다음의 절차를 따라서 tempdb를 재 생성
           . 명령 프롬프트를 실행하고 SQL Server 프로그램이 설치된 경로로 이동
           . T3608 추적 플래그를 사용하여 응용 프로그램으로 시작합니다.
            이때 T4022 추적 플래그도 함께 사용합니다.

                C:Program FilesMicrosoft SQL ServerMSSQLBinnsqlservr.exe -c -T3608 -T4022
            
            . 쿼리 분석기에서 sp_resetstatus 프로시저를 사용하여 주의 대상 모드를 해제

                exec sp_resetstatus 'tempdb'      
    
            . SQL Server를 응용 프로그램으로 시작한 명령 프롬프트 창에서 Ctrl+C 키를 입력한 다음에 Y 키를 눌러
              SQL Server를 종료합니다. 다시 SQL Server 서비스를 정상적으로 시작

■ tempdb 이동
  1) SQL Server 데이터베이스 중 유일하게 tempdb의 경우에는 ALTER DATABASE ~ MODIFY FILE 구문으로
     데이터베이스의 파일의 물리적인 경로를 변경이 가능
  2) 단, 변경한 다음에 SQL Server 서비스를 다시 시작해야만 변경된 위치에 새로운 tempdb가 생성

      . 기존 파일 위치 확인
        use tempdb
        go
        exec sp_helpfile

      . ALTER DATABASE 구문으로 파일의 물리적 경로를 변경
        alter database tempdb
        modify file (name = 'tempdev', filename = 'D:tempdb.mdf')
        go
        alter database tempdb
        modify file (name = 'templog', filename = 'Dtemplog.ldf')
        go

        . SQL Server 서비스를 다시 시작하고 새로운 위치로 변경되었는지 확인한 다음에 기존의 파일을 삭제
          exec sp_helpfile
번호 제목 글쓴이 날짜 조회 수
50 [MS SQL]중복제거, 중복찾기 호스트웨이 2015.09.16 232300
49 Windows MySQL root 패스워드 분실시 호스트웨이 2012.08.10 45975
48 실행중인 Mssql 버젼 확인 hostway 2008.05.15 25314
47 MS-SQL 개체 소유권 변경 레이쩡 2008.09.18 24881
46 MDF파일만 있을 경우 복구하는 방법(SQL2000만 해당) shpark 2008.07.07 24685
45 SQL Server 인덱스 설정의 효과 dhkim 2008.06.27 23596
» tempdb 복구 및 이동 방법 hostway 2008.05.15 22793
43 sql injection 보안 점검 hostway 2008.05.14 21726
42 Microsoft Source Code Analyzer for SQL Injection 관련 자료 dhkim 2008.07.25 21539
41 MS SQL 트랜잭션 로그를 줄이는 방법 레이쩡 2008.09.18 21235
40 MS-SQL 서비스 포트 변경 file 호스트웨이 2012.07.14 20491
39 [MS-SQL] DB Table 소유자변경 dalgri 2009.05.25 19964
38 SQL 인젝션에 이용되는 XP_cmdshell 확장프로시져 삭제 방법 dhkim 2008.12.24 18513
37 SQL 2008 RTM 에서 유지관리계획 실행 시 Error file 호스트웨이 2012.09.14 16371
36 [MS SQL]다른 DB에 있는 테이블 이동/복사하기 호스트웨이 2015.09.15 16032
35 SQL 인젝션 치료용 커서 dhkim 2008.12.10 15077
34 SQL 서버 관리자가 알아야 할 11가지 유용한 팁 호스트웨이 2012.08.03 14435
33 SQL 빌드 넘버 리스트 호스트웨이 2012.11.08 14050
32 SQL 2008 Express 버전 설치 1 file 호스트웨이 2010.04.01 13850
31 SQL Server 2005 설치시 데이터 저장 경로 변경 file 호스트웨이 2012.09.14 13810