블로그 이미지
bedbmsguru

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
  • total
  • today
  • yesterday
2010. 11. 3. 11:37 SQL SERVER

(1)MASTER

1)master 복구모드로 sql 실행
-- If the instance is the default instance:
NET START MSSQLSERVER /f /T3608
-- For a named instance:
NET START MSSQL$instancename /f /T3608

 2)master디비의 백업을 restore  한다.
 3)SQL SERVER가 자동으로 종료된다 다시 정상적으로 재시작 하면 된다.

이동:

Sql Server Configuration Manager --> 서버 -->속성-->고급 --> 시작매개변수 의 파라미터를 변경해주면 된다.

-dD:\sqldat\master.mdf; --master 디비 위치

-eD:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG; --에러로그

-lD:\SQLDAT\mastlog.ldf --master디비 로그위치

파라미터 변경후 실제 파일의 위치를 옮긴후 SQL SERVER 재시작

 

(2)MSDB
 1)먼저 SQL SERVER Agent를 중지한다.
 2)MSDB의 모드를 SINGLE_USER로 변경한다(alter database MSDB set single_user with ROLLBACK IMMEDIATE)
 3)MSDB 백업을 다시 로딩한다.
  RESTORE DATABASE MSDB
  FROM FILE=C:\msdb.bak
  WITH RECOVERY
 4)MSDB의 모드를 MULTI_USER로 변경한다 (alter database MSDB set MULTI_user with ROLLBACK IMMEDIATE)

 

(3)MODEL
 1)일반 USER DB처럼 RESTORE가 가능하다.  
 한가지 주의사항은 로그작업 손실이 어쩌구 저쩌구 나오는데 with replace를 붙여서 가볍게 무시해준다..(-_-V)
 restore database model from disk = 'c:\sqldat\model.bak' with replace

 

(4)tempdb
   SQL SERVER가 재시작 할때마다 재생성 하기때문에 특별히 백업은 필요없다
   기존 tempdb가 있던 디스크가 문제가 생기거나 했을경우 아래의 쿼리를 이용해 생성경로를 변경해주면 된다.


master디비를 제외한  다른 DB 들도 이동법은 tempdb와 마찬가지 이다

단 tempdb를 제외한 다른DB 들은 실제 mdf, ldf를 신규로 옮길려고 하는 위치로 이동해야한다.

   CF)SQL SERVER를 재시작 해야 적용됨
   ALTER DATABASE tempdb
          MODIFY FILE (NAME = tempdev, FILENAME = 'c:\SQLDat\tempdb.mdf');
   ALTER DATABASE tempdb
   MODIFY FILE (NAME = templog, FILENAME = 'c:\SQLDat\templog.ldf');

'SQL SERVER' 카테고리의 다른 글

SQL SERVER Named Instance에 연결하기  (0) 2010.11.03
SQLCMD에 관해서..  (0) 2010.11.03
특정 프로세스가 실행중인 쿼리 보기  (0) 2010.11.03
Blocking 체크  (0) 2010.11.03
인덱스 조각화 확인  (0) 2010.11.03
posted by bedbmsguru