SQLServerバックアップ文(ジョブバックアップ用)

5930 ワード

-- 
declare @name varchar(250) 
set @name='D:\BACKUP\ALLBACKUP\' + convert(varchar(50),getdate(),112)+ 'mzyy.bak'

BACKUP DATABASE [mzyy] TO DISK = @name WITH NOFORMAT, INIT, 
NAME = N'mzyy-     ', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO

--

declare @dir varchar(100),@str varchar(100),@fileName varchar(30),@filepath varchar(300)
SET @dir='del D:\BACKUP\ALLBACKUP\'
SET @str = LEFT(replace(replace(replace(convert(varchar,getdate()-7,20),'-',''),' ',''),':',''),8)
SET @fileName = 'mzyy.bak'
SET @filepath =@dir +@str + @fileName
exec xp_cmdshell @filepath

-- 

declare @dirs varchar(100),@strs varchar(100),@fileNames varchar(30),@filepaths varchar(300)
SET @dirs='del D:\BACKUP\DIFFBACKUP\'
SET @strs = LEFT(replace(replace(replace(convert(varchar,getdate()-7,20),'-',''),' ',''),':',''),8)
SET @fileNames = 'mzyy_DIFF.diff'
SET @filepaths =@dirs +@strs + @fileNames
exec xp_cmdshell @filepaths
-- 

declare @str varchar(100)
set @str='D:\BACKUP\DIFFBACKUP\'+replace(replace(replace(convert(varchar,getdate(),112),'-',''),' ',''),':','')+'mzyy_DIFF.diff'
BACKUP DATABASE [mzyy] TO DISK=@str
WITH DIFFERENTIAL,RETAINDAYS=8,NOFORMAT,NOINIT,
NAME=N'mzyy ',SKIP,NOREWIND,
NOUNLOAD,STATS=10

注意:バックアップを削除する必要がある場合は、xp_をオンにする必要があります.cmdshell 
文:推奨使用文(SQL 2008 R 2を使用しているため、SQLのコンフィギュレーションツールでSQLServer周辺アプリケーションコンフィギュレータが見つかりません)
また、フォルダに権限を設定することも忘れないでください(そうしないとフォルダ内のバックアップファイルが認識されません)
sp_configure 'show advanced options',1
reconfigure
go
sp_configure 'xp_cmdshell',1
reconfigure
go

-- “sp_configure 'xp_cmdshell',1” “sp_configure 'xp_cmdshell',0” 。

 
 
感謝:https://www.cnblogs.com/zhangq723/archive/2012/03/13/2394102.html
https://www.cnblogs.com/devloper110/articles/1298650.html
http://blog.csdn.net/XU123bin/article/details/71467142
https://www.cnblogs.com/atree/p/SQL_SERVER_xp_cmdshell.html
 
転載先:https://www.cnblogs.com/dzw159/p/8315443.html