天天看點

關于SQL Server 2005 的自動遠端資料庫備份

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

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

關于SQL Server 2005 的自動遠端資料庫備份

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'

關于SQL Server 2005 的自動遠端資料庫備份

2.2、建立“計劃”,如下圖所示:

關于SQL Server 2005 的自動遠端資料庫備份

3、經過上面的兩步,就已經完成了,你可以直接在作業上點選右鍵執行測試是否已經備份成功^-^。

4、相關的幫助連結:

<a href="http://tech.huweishen.com/gongju/1423.html">http://tech.huweishen.com/gongju/1423.html</a>

<a href="http://www.cnblogs.com/059212315/archive/2012/08/10/2631627.html">http://www.cnblogs.com/059212315/archive/2012/08/10/2631627.html</a>

<a href="http://hi.baidu.com/ziyoubird/item/03440b226f5a824646996290">http://hi.baidu.com/ziyoubird/item/03440b226f5a824646996290</a>

<a href="http://database.51cto.com/art/201011/233117.htm">http://database.51cto.com/art/201011/233117.htm</a>

--完整備份 

Backup Database NorthwindCS 

To disk='G:\Backup\NorthwindCS_Full_20070908.bak'

--差異備份 

To disk='G:\Backup\NorthwindCS_Diff_20070908.bak' 

With Differential

--日志備份,預設截斷日志 

Backup Log NorthwindCS 

To disk='G:\Backup\NorthwindCS_Log_20070908.bak'

--日志備份,不截斷日志 

To disk='G:\Backup\NorthwindCS_Log_20070908.bak' 

With No_Truncate

--截斷日志不保留 

With No_Log

--或者 

With Truncate_Only 

--截斷之後日志檔案不會變小 

--有必要可以進行收縮

--檔案備份 

Exec Sp_Helpdb NorthwindCS --檢視資料檔案 

File='NorthwindCS' --資料檔案的邏輯名 

To disk='G:\Backup\NorthwindCS_File_20070908.bak'

--檔案組備份 

FileGroup='Primary' --資料檔案的邏輯名 

To disk='G:\Backup\NorthwindCS_FileGroup_20070908.bak' 

With init

--分割備份到多個目标 

--恢複的時候不允許丢失任何一個目标 

To disk='G:\Backup\NorthwindCS_Full_1.bak' 

,disk='G:\Backup\NorthwindCS_Full_2.bak'

--鏡像備份 

--每個目标都是相同的 

To disk='G:\Backup\NorthwindCS_Mirror_1.bak' 

Mirror 

To disk='G:\Backup\NorthwindCS_Mirror_2.bak' 

With Format --第一次做鏡像備份的時候格式化目标

--鏡像備份到本地和遠端 

To disk='\\192.168.1.200\Backup\NorthwindCS_Mirror_2.bak' 

--每天生成一個備份檔案 

Declare @Path Nvarchar(2000) 

Set @Path ='G:\Backup\NorthwindCS_Full_' 

+Convert(Nvarchar,Getdate(),112)+'.bak' 

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'

--備份設定密碼保護備份 

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'