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