我是db world的新手。我必须创建一个将删除数据库快照并在每天重新创建它的作业。但我想知道如何设置快照后我可以验证。
答案 0 :(得分:0)
您可以使用SQLAgent来完成此任务:Creation & Deletion of Database Snapshot by SQL Agent Job
Id Val1 Val2 Val3
0 1 2 3
2 3 5 5
对于验证部分,您可以使用以下查询..
--Step 1 :-
DECLARE @CREATE_SS VARCHAR(MAX)
DECLARE @DT VARCHAR(100)
SET @DT = REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR,GETDATE(),120),’-‘,’_’),’ ‘,’_’),':’,’_’)
SET @CREATE_SS =
‘CREATE DATABASE TEST_’+@DT+’ ON
( NAME = TEST, FILENAME =
”C:\TEST_’+@DT+’.SS” )
AS SNAPSHOT OF TEST’
EXEC (@CREATE_SS)
--Step 2 :-
IF(SELECT COUNT(*) FROM SYS.DATABASES WHERE SOURCE_DATABASE_ID = DB_ID(‘TEST’))>1
BEGIN
DECLARE @DROP_SS VARCHAR(MAX)
DECLARE @SS_NAME VARCHAR(100)
SELECT TOP 1 @SS_NAME = NAME FROM SYS.DATABASES WHERE SOURCE_DATABASE_ID = DB_ID(‘TEST’)
ORDER BY CREATE_DATE ASC
SET @DROP_SS = ‘DROP DATABASE ‘+ @SS_NAME
EXEC (@DROP_SS)
END