程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server2005 異地備份的多種方法

SQL Server2005 異地備份的多種方法

編輯:關於SqlServer
第一種方法:

這是一個很常見的需求,網上也有相關的解決方法,主要是通過映射網絡盤和執行cmdshell命令來實現,他們的不好處在於數據重復傳遞

今天所說的實現方法利用SQL Server服務帳號模式和安全機制來訪問網絡途徑,方法如下:

  1:要實現異地備份,必須使用域用戶帳號來啟動SQL Server服務以及SQL Server Agent服務,因為本地系統帳戶無法訪問網絡。在計算機管理服務裡找到這兩個服務,將登錄賬號改為域用戶,注意密碼也要錄入,如果以後這個域用戶的密碼更改了,記得這裡也要改,否則這兩項服務無法啟動。

  2:在異地機器中建立一個共享文件夾,並設置合適權限。

   3:在SQL Server服務器中建立異地備份的維護計劃,在“完全備份”和“事務日志備份”中,使用輸入異地共享文件夾的UPN路徑。

  4:配置好維護計劃中其它設置。

如果還不保險,需要在異地網絡(非局域網)備份,如中國備份到美國,由於數據庫文件較大,可壓縮空間很大。那就要對數據壓縮利用FTP傳送,方法如下:

一、利用任務計劃+RAR實現自動壓縮

對要備份的文件或文件夾右擊,選擇"添加到壓縮文件…"
1、備份,勾選“按掩碼產生壓縮文件名”,可改為“yyyymmdd”
2、高級,勾選“後台壓縮”
3、常規,浏覽,並選擇要保存的地點
4、常規,配置,選擇“保存當前設置為新配置”,在配置參數中將配置名改為“壓縮文件”,勾選“保存選定文件名”,此時在桌面創建快捷方式變亮,同樣勾選上。同時將保存壓縮文件名和立即執行也勾選上,桌面上即多了一個“壓縮文件”的快捷方式。雙擊它可手動壓縮。
      打開任務計劃,開始--程序--附件--系統工具--任務計劃,空白處右擊,新建計劃任務,改名為“自動壓縮”。
右擊桌面上“壓縮文件”快捷方式,復制目標地址。雙擊任務計劃裡的“自動壓縮”任務,在運行裡粘貼上該地址,應用時會要求輸入當前用戶的密碼;日程安排自行設定

二、利用FTP自動傳送到目的地

下面要進行FTP上傳,假定我們要上傳的文件在d:/ftptmp文件夾下,服務器是ftp://10.0.0.2,帳號cd,密碼123,服務器中的指定文件夾是xd,具體分三個文件步驟操作。分別寫以下幾個文件:
   1)建ftprun1.bat內容如下:
   FTP -i -s:ftpput.txt
   2)建ftpput.txt內容如下:
   open 10.0.0.2
   cd
   123
   cd xd
   mput d:/ftptmp/*.rar
   bye
   3)建ftprun2.bat內容如下
   del d:/ftptmp/*.rar
   以上三步的操作思路是,第1和2聯合動作,實現將文件上傳到服務器的指定文件夾中,第3是實現將本地的該文件刪除。
4、任務計劃的時間安排上就分別是:1、拷貝文件;2、壓縮文件;3、上傳文件;4、刪除文件 。
任務計劃中按以上步驟靈活安排好相關時間運行即可,開始有點麻煩,以後就省心省事了。

第二種方法:

     這是一個很常見的需求,網上也有相關的解決方法,主要是通過映射網絡盤和執行cmdshell命令來實現!今天所說的實現方法稍有不同,思路來源於最近在深入研究的SQL Server服務帳號模式和安全機制,相關文章見Blog!本文對SQL Server 2000環境中具體實現方法做相關闡述,對於SQL Server 2005,實現辦法相同!

一:基本思路
  1:要實現異地備份,必須使用域用戶帳號來啟動SQL Server服務以及SQL Server Agent服務,因為本地系統帳戶無法訪問網絡。
  2:在異地機器中建立一個與SQL Server服務器中啟動SQL Server服務的域用戶帳號同名帳號,且密碼保持相同。在異地機器中建立一個共享文件夾,並設置合適權限。
   注意:新建帳號針對的是工作組模式,如果是基於域模式,那就無須再建帳號
   3:在SQL Server服務器中建立異地備份的維護計劃,在“完全備份”和“事務日志備份”中,使用輸入異地共享文件夾的UNC路徑。
  4:配置好維護計劃中其它設置。

  上面表述可能不太直觀,下面以實際實驗來演示如何做異地備份。實驗網絡模型很簡單,如下圖:    

             

二:異地備份的演示
    1:在SQL Server服務器中以域用戶帳戶啟動SQL Server服務以及SQL Server Agent服務。
       本實驗中直接使用administrator帳戶,可以根據實際環境切換其它域用戶帳戶。

             

    2:在文件備份服務器中建立一個共享文件夾,共享權限中刪除everyone用戶,加入administrator用戶,權限設置如下圖。

           

    3:在SQL Server服務器中,打開企業管理器,新建數據庫維護計劃:

             

  4:在維護計劃向導中,選擇計劃備份的數據庫,設置好數據庫優化信息和檢查完整性等步驟。
  5:在向導的“指定數據庫備份計劃”設置好調度計劃。
  6:在“指定備份磁盤目錄”界面,手動輸入文件備份服務器共享文件夾UNC路徑。

                      

         7:在“事務日志備份計劃”界面,根據實際環境決定如何備份。
         8:按向導設置好其它步驟,完成異地備份維護計劃。

三:測試異地備份是否成功。
         1:檢查共享文件夾中備份文件是否存在。

                   

          2:如果沒有備份成功,請查看SQL Server日志,並檢查權限設置以及用戶名和密碼是否完全一致。

本文出自 “我兒子真帥!” 博客

第三種方法:

其實有種方法就是先本地備份,然後通過rsync或一些ftp同步工具同步也可以。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved