2017-01-05 12 views
0

私はdb worldを初めて利用しています。 dbスナップショットを削除し、毎日それを再作成するジョブを作成する必要があります。しかし、スナップショットがセットアップされたらどのように検証することができますか?予定通りにスナップショットを作成する

答えて

0

あなたがこれを達成するためにSQLAgentを使用することができます。検証の部分についてはCreation & Deletion of Database Snapshot by SQL Agent Job

--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_’[email protected]+’ ON 
(NAME = TEST, FILENAME = 
”C:\TEST_’[email protected]+’.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 

は、クエリの下に使用することができます。..

if exists(
SELECT * FROM sys.databases WHERE name = 'somename' 
    AND source_database_id IS NOT NULL) 
begin 
print 'database snapshot created' 
end 
関連する問題