經(jīng)常會有定時備份SQL Server數(shù)據(jù)庫的需要。定時備份到本機的話,還是挺容易的,計劃任務(wù)就可以完成,但如果是整機掛了,那備份到本機是沒意義的,那么就需要來考慮備份到局域網(wǎng)中,其它電腦里。
下面就分享一份在網(wǎng)上找了之后,自己再簡單整理過的代碼,配合 SQL Server 代理中的作業(yè)功能,已經(jīng)穩(wěn)定運行一個星期了,每小時就備份一次。
-- 創(chuàng)建網(wǎng)絡(luò)映射(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'
-- 執(zhí)行備份(DB是要備份的數(shù)據(jù)庫名稱)
backup database [DB] to disk = @filename
-- 刪除網(wǎng)絡(luò)映射(Y是盤符,同上)
exec master..xp_cmdshell 'net use Y: /delete'