반응형
- /**********************************************************************************************
-- Title : [2k] CHECKDB와 CHECKTABLE로 손상된 DB 및 테이블 복구
-- Reference : dbRang.com
-- Key word : checkdb, checktable
**********************************************************************************************/
/*
** CHECKDB로 손상된 DB 복구하기
*/
SELECT DATABASEPROPERTYEX ('Northwind', 'UserAccess')
--MULTI_USER
GO
ALTER DATABASE Northwind
SET SINGLE_USER
WITH ROLLBACK AFTER 10 --10초 후에 완료되지 않은 트랜잭션들을 롤백
GO
SELECT DATABASEPROPERTYEX ('Northwind', 'UserAccess')
--SINGLE_USER
GO
DBCC CHECKDB ('Northwind', REPAIR_FAST)
-- REPAIR_FAST : 사소한 손상 복구, 빠른 속도, 데이터 유실 없음.
-- REPAIR_REBUILD : REPAIR_FAST 실행, 시간 소요 작업(인덱스 재생성) 실행, 데이터 유실 무
-- REPAIR_ALLOW_DATA_LOSS : REPAIR_REBUILD 실행, 구조적 문제와 페이지 오루 정정, 손상된 텍스트
-- 오브젝트 삭제, 데이터 유실 가능.
GO
ALTER DATABASE Northwind
SET MULTI_USER
GO
/*
** CHECKTABLE로 손상된 테이블 복구하기
*/
SELECT DATABASEPROPERTYEX ('Northwind', 'UserAccess')
--MULTI_USER
GO
ALTER DATABASE Northwind
SET SINGLE_USER
-- 10초 후에 완료되지 않은 트랜잭션들을 롤백
WITH ROLLBACK AFTER 10
GO
SELECT DATABASEPROPERTYEX ('Northwind', 'UserAccess')
--SINGLE_USER
GO
USE Northwind
GO
DBCC CHECKTABLE (Orders, REPAIR_FAST)
GO
ALTER DATABASE Northwind
SET MULTI_USER
GO
-- EXEC sp_dboption 'Northwind', 'single user', 'FALSE'
-- GO
반응형