經常會有定時備份SQL Server數據庫的需要。定時備份到本機的話,還是挺容易的,計劃任務就可以完成,但如果是整機掛了,那備份到本機是沒意義的,那麼就需要來考慮備份到局域網中,其它電腦裡。
下面就分享一份在網上找了之後,自己再簡單整理過的代碼,配合 SQL Server 代理中的作業功能,已經穩定運行一個星期了,每小時就備份一次。
復制代碼 代碼如下:
-- 創建網絡映射(Y是盤符;IP地址後面要帶共享文件夾的名稱;password是密碼,雙引號引起;account是遠程電腦的登錄名)
exec master..xp_cmdshell 'net use Y: \\192.168.0.69\sqlbackup "password" /user:192.168.0.69\account'
-- 按日期時間做文件名(注意路徑中的文件夾,需要先建立好)
declare @filename varchar(200)
select @filename = 'Y:\DB\' + replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ','-'),':','') + '.bak'
-- 執行備份(DB是要備份的數據庫名稱)
backup database [DB] to disk = @filename
-- 刪除網絡映射(Y是盤符,同上)
exec master..xp_cmdshell 'net use Y: /delete'