(原創)關於SQL Server 2005 的自動遠程數據庫備份


由於項目需要,需要對目標服務器上的數據庫每天進行備份並轉移,查閱網上的一些幫助,結合自己的實際需要,寫了這篇文章,希望對有同樣需求的朋友有所幫助。目標服務器:192.168.1.197,備份服務器:192.168.0.194

1、在備份服務器上新建一個文件夾(我的是C:\DbBackupTest),首先要確定對備份服務器要有足夠的權限(權限設置如下圖所示),最好是“Administrators”組賬戶。其次 到備份服務器上,打開組策略->計算機配置->Windows設置->安全設置->本地策略->安全選項->網絡訪問:本地賬戶的共享和安全模式->經典-本地用戶以自己的身份驗證。

3f40ba8a-4285-4be2-9e47-891e5661fab3

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'

0f8f0d04-6d61-4685-9c2d-525e82c08c31

2.2、新建“計划”,如下圖所示:

740fbde5-e515-40ef-bad6-ed63c4b99fd9

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'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM