Windows DB

tempdb 복구 및 이동 방법

2008.05.15 02:39

hostway 조회 수:22915

■ 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 234943
49 Windows MySQL root 패스워드 분실시 호스트웨이 2012.08.10 47261
48 실행중인 Mssql 버젼 확인 hostway 2008.05.15 25430
47 MS-SQL 개체 소유권 변경 레이쩡 2008.09.18 25031
46 MDF파일만 있을 경우 복구하는 방법(SQL2000만 해당) shpark 2008.07.07 24804
45 SQL Server 인덱스 설정의 효과 dhkim 2008.06.27 23682
» tempdb 복구 및 이동 방법 hostway 2008.05.15 22915
43 sql injection 보안 점검 hostway 2008.05.14 21809
42 Microsoft Source Code Analyzer for SQL Injection 관련 자료 dhkim 2008.07.25 21649
41 MS-SQL 서비스 포트 변경 file 호스트웨이 2012.07.14 21602
40 MS SQL 트랜잭션 로그를 줄이는 방법 레이쩡 2008.09.18 21328
39 [MS-SQL] DB Table 소유자변경 dalgri 2009.05.25 21054
38 SQL 인젝션에 이용되는 XP_cmdshell 확장프로시져 삭제 방법 dhkim 2008.12.24 18619
37 SQL 빌드 넘버 리스트 호스트웨이 2012.11.08 17934
36 SQL 2008 RTM 에서 유지관리계획 실행 시 Error file 호스트웨이 2012.09.14 17470
35 [MS SQL]다른 DB에 있는 테이블 이동/복사하기 호스트웨이 2015.09.15 17310
34 SQL 서버 관리자가 알아야 할 11가지 유용한 팁 호스트웨이 2012.08.03 15545
33 SQL 인젝션 치료용 커서 dhkim 2008.12.10 15197
32 SQL 2008 Express 버전 설치 1 file 호스트웨이 2010.04.01 14898
31 Windows Server 2008에서 MS SQL 2008 설치오류에 대한 해결[역할관리도구] file 호스트웨이 2012.08.31 14883