2014年11月20日 星期四

使用排程來備份資料庫至Azure與本機檔案系統

首先在Azure中建立一個vhd,然後記住此vhd的Url。


接著建立一個backup.sql的檔案

USE master
GO
DECLARE @backupTime VARCHAR(20)
DECLARE @sqlCommand NVARCHAR(1000)

SELECT @backupTime=(CONVERT(VARCHAR(8), GETDATE(), 112)
          + REPLACE(CONVERT(VARCHAR(5), GETDATE(), 114), ':', ''))

SET @sqlCommand = 'BACKUP DATABASE [資料庫名稱] TO URL=''[vhd的Url]' + @backupTime+'.bak'' WITH CREDENTIAL = ''mycredential'''
EXECUTE sp_executesql @sqlCommand


SET @sqlCommand = 'BACKUP DATABASE trdysms TO DISK=''[本機路徑]' + @backupTime+'.bak'''
EXECUTE sp_executesql @sqlCommand
GO

最後寫一個.bat檔案給排程來驅動
sqlcmd -S . -i [本機路徑]\backup.sql
如此就可以將資料庫定時的備份至Azure與本機了。