SQL Server 2005 自動遠程數據庫備份
由于項目需要,需要對目標服務器上的數據庫每天進行備份并轉移,查閱網上的一些幫助,結合自己的實際需要,寫了這篇文章,希望對有同樣需求的朋友有所幫助。目標服務器:192.168.1.197,備份服務器:192.168.0.194
1、在備份服務器上新建一個文件夾(我的是C:\DbBackupTest),首先要確定對備份服務器要有足夠的權限(權限設置如下圖所示),最好 是“Administrators”組賬戶。其次 到備份服務器上,打開組策略->計算機配置->Windows設置->安全設置->本地策略->安全選項->網絡訪 問:本地賬戶的共享和安全模式->經典-本地用戶以自己的身份驗證。
2.1、在目標服務器上打開Sql Server 2005,新建一個作業,然后新建一個“步驟”(如下圖所示),指定目標數據庫后,編寫如下腳本(注意空格和反斜線),然后點擊“確定”,完成第一步。
–開啟xp_cmdshell
EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;
EXEC sp_configure ‘xp_cmdshell’, 1;RECONFIGURE;
–建立連接
Exec xp_cmdshell ‘net use \\192.168.0.194\DbBackupTest “這里填寫備份服務器的登錄密碼”/user:192.168.0.194\administrator’
–備份數據庫
Declare @Path Nvarchar(200)
Set @Path = ‘\\192.168.0.194\DbBackupTest\DigitalGolf_New_’ + Convert(Nvarchar,Getdate(),112) + ‘.bak’
Backup Database DigitalGolf_New
To disk = @Path
With Format
–斷開連接
Exec xp_cmdshell ‘net use \\192.168.0.194\DbBackupTest /delete’
2.2、新建“計劃”,如下圖所示:
3、經過上面的兩步,就已經完成了,你可以直接在作業上點擊右鍵執行測試是否已經備份成功^-^。
4、相關的幫助鏈接:
http://tech.huweishen.com/gongju/1423.html
http://www.cnblogs.com/059212315/archive/2012/08/10/2631627.html
http://hi.baidu.com/ziyoubird/item/03440b226f5a824646996290
http://database.51cto.com/art/201011/233117.htm
4、更多的備份的形式參考幫助如下:(轉載自:http://hi.baidu.com/ziyoubird/item/03440b226f5a824646996290)
–完整備份
Backup Database NorthwindCS
To disk=’G:\Backup\NorthwindCS_Full_20070908.bak’
–差異備份
Backup Database NorthwindCS
To disk=’G:\Backup\NorthwindCS_Diff_20070908.bak’
With Differential
–日志備份,默認截斷日志
Backup Log NorthwindCS
To disk=’G:\Backup\NorthwindCS_Log_20070908.bak’
–日志備份,不截斷日志
Backup Log NorthwindCS
To disk=’G:\Backup\NorthwindCS_Log_20070908.bak’
With No_Truncate
–截斷日志不保留
Backup Log NorthwindCS
With No_Log
–或者
Backup Log NorthwindCS
With Truncate_Only
–截斷之后日志文件不會變小
–有必要可以進行收縮
–文件備份
Exec Sp_Helpdb NorthwindCS –查看數據文件
Backup Database NorthwindCS
File=’NorthwindCS’ –數據文件的邏輯名
To disk=’G:\Backup\NorthwindCS_File_20070908.bak’
–文件組備份
Exec Sp_Helpdb NorthwindCS –查看數據文件
Backup Database NorthwindCS
FileGroup=’Primary’ –數據文件的邏輯名
To disk=’G:\Backup\NorthwindCS_FileGroup_20070908.bak’
With init
–分割備份到多個目標
–恢復的時候不允許丟失任何一個目標
Backup Database NorthwindCS
To disk=’G:\Backup\NorthwindCS_Full_1.bak’
,disk=’G:\Backup\NorthwindCS_Full_2.bak’
–鏡像備份
–每個目標都是相同的
Backup Database NorthwindCS
To disk=’G:\Backup\NorthwindCS_Mirror_1.bak’
Mirror
To disk=’G:\Backup\NorthwindCS_Mirror_2.bak’
With Format –第一次做鏡像備份的時候格式化目標
–鏡像備份到本地和遠程
Backup Database NorthwindCS
To disk=’G:\Backup\NorthwindCS_Mirror_1.bak’
Mirror
To disk=’\\192.168.1.200\Backup\NorthwindCS_Mirror_2.bak’
With Format
–每天生成一個備份文件
Declare @Path Nvarchar(2000)
Set @Path =’G:\Backup\NorthwindCS_Full_’
+Convert(Nvarchar,Getdate(),112)+’.bak’
Backup Database NorthwindCS
To http://www.hack58.net/Article/html/3/7/2008/mailt disk=@Path
–從NoRecovery或者
–Standby模式恢復數據庫為可用
Restore Database NorthwindCS_Bak
With Recovery
–查看目標備份中的備份集
Restore HeaderOnly
From Disk =’G:\Backup\NorthwindCS_Full_20070908.bak’
–查看目標備份的第一個備份集的信息
Restore FileListOnly
From Disk =’G:\Backup\NorthwindCS_Full_20070908_2.bak’
With File=1
–查看目標備份的卷標
Restore LabelOnly
From Disk =’G:\Backup\NorthwindCS_Full_20070908_2.bak’
–備份設置密碼保護備份
Backup Database NorthwindCS
To disk=’G:\Backup\NorthwindCS_Full_20070908.bak’
With Password = ’123′,init
Restore Database NorthwindCS
From disk=’G:\Backup\NorthwindCS_Full_20070908.bak’
With Password = ’123′
來自:那方天空