Sqlserver 每天數據備份語句

CREATE PROCEDURE [dbo].[DBBAK.UnicomDB]
@wheredb varchar(100) --接受,xm,fz,nd,pt
AS
BEGIN

--備份
Declare @theYear varchar(4)
Declare @theMonth varchar(2)
Declare @theDay varchar(2)
Declare @theMinu varchar(2) --取名用的,爲了區別地區
Declare @FileName varchar(50)


Set @theYear = cast(year(getdate()) as varchar(4))
Set @theMonth = cast(month(getdate()) as varchar(2))
Set @theDay = cast(day(getdate()) as varchar(2))
Set @theMinu = cast(DATEPART(MI,GETDATE()) as varchar(2))


If len(@theMonth) = 1
Begin
Set @theMonth = '0' + @theMonth
End
If len(@theDay) = 1
Begin
Set @theDay = '0' + @theDay
End


Set @FileName = @theYear+@theMonth+@theDay


Declare @sql nvarchar(500)
--廈門聯通
If @wheredb = 'xm'
Begin
DBCC SHRINKDATABASE(N'UnicomDB')
Set @sql = 'BACKUP DATABASE [UnicomDB] TO  DISK = N''D:\SQLBAK\DB\XM_UnicomDB_'+@FileName+'_'+@theMinu+'.rar'' WITH NOFORMAT, NOINIT,  NAME = N''UnicomDB-完整 數據庫 備份'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10'
End

execute sp_executesql @sql

END


其實主 要是最後幾行,前面都是拼接名字用的。

這個語句也可以直接用sql server操作界面備份的時候生成腳本。

這個腳本可以用在JOB,每天生成。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章