#title 로그파일을 삭제 했을 경우 [[TableOfContents]] ==== 2005 이상 ==== {{{ use master go create database test go --명령 프롬프트에서 아래 실행 -------------------------------------------------------------------------- 서비스 중지 net stop mssqlserver 로그파일 삭제 del C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\test_log.LDF 서비스 시작 net start mssqlserver -------------------------------------------------------------------------- select name , status from master.sys.sysdatabases where name = 'test' /* --1073741824 = cleanly shutdown name status ----- ----------- test 1073807360 */ alter database test set emergency alter database test rebuild log on (name=test_log, filename='c:\test_log.ldf') exec sp_dboption 'test', 'single user', 'true' DBCC CHECKDB ('test', REPAIR_ALLOW_DATA_LOSS) exec sp_dboption 'test', 'single user', 'false' --로그파일이 다시 올라왔다!! --dir c:\test_log.ldf alter database test set multi_user }}} * 만약 문제가 되는 DB를 분리했다면, 같은 이름의 DB를 생성한 후 SQL Server 서비스를 종료시킨 후에 문제의 DB에 대한 데이터 파일을 바꿔치가 한 후 에 위의 작업을 진행하면 된다. ==== 2000 ==== {{{ --Suspect!! USE master GO EXEC sp_configure 'allow updates', 1 RECONFIGURE WITH OVERRIDE GO UPDATE master..sysdatabases SET status = 32768 WHERE name = 'act' GO UPDATE master..sysdatabases SET status = 32768 WHERE name = 'etc' GO UPDATE master..sysdatabases SET status = 32768 WHERE name = 'mat' GO UPDATE master..sysdatabases SET status = 32768 WHERE name = 'pay' GO UPDATE master..sysdatabases SET status = 32768 WHERE name = 'sal' GO USE master GO DBCC REBUILD_LOG('act','E:\PKFC\act\act_log.LDF') GO DBCC REBUILD_LOG('etc','E:\PKFC\etc\etc_log.LDF') GO DBCC REBUILD_LOG('mat','E:\PKFC\mat\mat_log.LDF') GO DBCC REBUILD_LOG('pay','E:\PKFC\pay\pay_log.LDF') GO DBCC REBUILD_LOG('sal','E:\PKFC\sal\sal_log.LDF') GO exec sp_resetstatus 'act' GO exec sp_resetstatus 'etc' GO exec sp_resetstatus 'mat' GO exec sp_resetstatus 'pay' GO exec sp_resetstatus 'sal' GO EXEC sp_configure 'allow updates', 0 RECONFIGURE WITH OVERRIDE GO DBCC CHECKDB('act') GO DBCC CHECKDB('etc') GO DBCC CHECKDB('mat') GO DBCC CHECKDB('pay') GO DBCC CHECKDB('sal') GO }}} ==== 적용대상 ==== * Microsoft SQL Server 2000 * Microsoft SQL Server 2005