부탁드립니다..급해서요 --;
혹시 백업본 있으시면 다른 디비에 복구하시고 해당 뷰를 카피해
오는게 가장 빠르지 않을까요 ^^;
백업본이 없어서 문제네요 --;
트랜잭션 로그 같은 걸론 살리는 방법이 없나요?
절대 약올리는 것은 아니구요
저두 테이블 한번 날려봤는데 백업이 있어서 다행이었는데요
데이터 베이스에 암묵적 트랜젝션 활성화 옵션이 있습니다.
그럼 그 해당 세션에서 commit 하기 전까지는 들어가지 않습니다.
begin tran 을 매번 주의해서 쓰시던지
데이터베이스 셋팅에서 그 옵션을 활성화 해서 쓰시길 바랍니다.
현재의 트랜잭션 로그를 백업을 받으시고
restore의 STOPAT 옵션을 사용해서,
다른 test 서버 등에서 test 해 보시고, 관련 뷰 부분만 올리시만
될 것 같습니다.
시간으로 뒤로 갔을때 !
그전에 그 해당 뷰를 만들었던 로그가 없으면
못살리는 것 아닌지요?
해당 view의 삭제 부분의 로그만 있다면 가능합니다.
(물론 로그 파일만 있는 것이 아니라, 그 때의 로그가 있어야 겠죠..)
--========================================================
-- 데이타 베이스 의 복구 모델이 최대로 설정되어 있는 경우만 test해
-- 보았습니다.
-- 객체 생성 부분
CREATE TABLE tt( id int identity , name varchar(20));
DECLARE @i int
SET @i = 0 ;
WHILE (@i < 10000) BEGIN INSERT INTO tt(name) values(convert(varchar(20),@i)); SET @i = @i+1; END
SELECT * FROM tt WITH(NOLOCK)go
CREATE VIEW dbo.vttAS SELECT * FROM tt WITH(NOLOCK)
GO
-- 객체 생성 부분이 있는 트랜잭션 로그 삭제 BACKUP LOG TEST WITH NO_LOGgoBACKUP DATABASE TEST TO DISK='E:\TEST' WITH INITGO WAITFOR DELAY '00:05:00' -- 5분간 대기 상태로
-- 객체 삭제 부분 SELECT 'VIEW 삭제 시간', GETDATE() -- VIEW 삭제 시간, 2005-07-18 18:26:59.187goDROP VIEW dbo.vttgo
WAITFOR DELAY '00:05:00' -- 5분간 대기 상태로 SELECT 'TEST해야 할 시간 ', GETDATE() --TEST해야 할 시간 2005-07-18 18:32:09.217go
BACKUP LOG TEST TO DISK='E:\TEST' go
-- RESTORE 부분 USE mastergo
RESTORE DATABASE TEST FROM DISK='E:\TEST' WITH NORECOVERYGORESTORE LOG TEST FROM DISK='E:\TEST' WITH NORECOVERY, STOPAT='2005-07-18 18:24:59.187'GO RESTORE LOG TEST FROM DISK='E:\TEST' WITH RECOVERYgo
좋은 정보 정말 감사합니다.
저두 많이 배우면 많이 배풀도록 하겠습니다.
^-------------^ ;
멋진데요 ~