作者 主題: SQL指令幫您備份所有的資料庫並保留7天  (閱讀 4106 次)

0 會員 與 1 訪客 正在閱讀本文。

yousee

  • 訪客
SQL指令幫您備份所有的資料庫並保留7天
代碼: [選擇]
Declare @Name varchar(40)
Declare @FileName varchar(300)
Declare @DataName varchar(40)
Declare @BakDir varchar(40)
Declare @Tmp varchar(2)
Select @BakDir="D:\db_bak\"
DECLARE @name varchar(40)
DECLARE DBName CURSOR FOR
select name from master..sysdatabases
-- for SQL 2005 up
-- select name from master.sys.databases
OPEN DBName
FETCH NEXT FROM DBName
INTO @DataName
WHILE   @@FETCH_STATUS = 0
BEGIN
Select @Name=@DataName +" backup"
Select @Tmp=Convert(varchar(2),DATEPART(dw,GetDate()))
if Len(@Tmp)=1 Select @Tmp="0"+@Tmp
Select @FileName=@BakDir+@DataName+"\"+@DataName+@Tmp+".BAK"
BACKUP DATABASE @DataName TO  DISK = @FileName WITH  INIT ,  NOUNLOAD ,  NAME = @Name,  NOSKIP ,  STATS = 10,  NOFORMAT
    FETCH NEXT FROM DBName
    INTO @DataName
END
CLOSE DBName
DEALLOCATE DBName
GO