Quantcast
Channel: SQL Server
Viewing all articles
Browse latest Browse all 3819

Blog Post: Creation & Deletion of Database Snapshot by SQL Agent Job

$
0
0
Some days back, I received one query on my facebook page that user want to create Database Snapshot frequently & want to delete the oldest with same frequency. Quite interesting scenario. I did not go in deep why he has such requirement but I am clear that It can be done very easily. So let’s do it. I have setup 2 scripts one for creation of snapshot & another is for deletion of snapshot. We can schedule a SQL agent jobs with 2 steps using these scripts. 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 Reference : Rohit Garg ( http://mssqlfun.com/ ) You can find and follow MSSQLFUN :- http://www.facebook.com/mssqlfun http://mssqlfun.com/feed https://twitter.com/Rgarg86 Other Linked Profiles :- http://www.sqlservercentral.com/blogs/mssqlfun/ http://social.msdn.microsoft.com/Profile/rohitgarg http://www.toadworld.com/members/rohit-garg/blogs/default.aspx http://beyondrelational.com/members/RohitGarg/default.aspx

Viewing all articles
Browse latest Browse all 3819

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>