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