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

那方天空發表於2014-12-09

  由於專案需要,需要對目標伺服器上的資料庫每天進行備份並轉移,查閱網上的一些幫助,結合自己的實際需要,寫了這篇文章,希望對有同樣需求的朋友有所幫助。目標伺服器: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′

相關文章