日志傳送功能可自動復制數據庫的交易日志文件並回存到備援服務器 (standby server) 的另外一個數據庫因此可大幅提高SQL Server數據庫之可用性因為備援數據庫完整地接收來源數據庫的異動情況所以它就是一份來源數據庫的復本 差別僅在於資料復制與加載過程所產生的時間差然而當主要服務器停擺時您就可以將備援服務器更改為新的主要服務器如果原來的主要服務器可重新上線使用那麼您可以將其設定為新的備援服務器 事實上就是對調兩台服務器的角色
在SQL Server 企業版或開發版之中Microsoft在Enterprise Manager內提供了一項日志傳送(Log Shipping)的功能 為數據庫維護計劃精靈的其中一部份在使用之前的SQL Server時您需要自行建立日志傳送系統
設定日志傳送
主要服務器(primary server) 即是實際處理資料的正式服務器;此服務器內擁有來源數據庫次要服務器(secondary server)上存放目的數據庫用來復制與回存來源數據庫的交易日志文件監控服務器(monitor server)用來監控主要服務器與次要服務器與SQL Server 不同的是(SQL Server 是在次要服務器上監控日志傳送動作)SQL Server 使用Enterprise Manager的日志傳送監控工具來監控每一組傳送中的日志資料Microsoft建議您在另外一台監控用服務器安裝這個工具程序
您可以利用Enterprise Manager的數據庫維護計劃精靈設定SQL Server 的日志傳送但是在您激活精靈之前您必須先進行某些准備工作一開始請先遵循下列步驟
決定一組要設定日志傳送的服務器(即日志傳送過程之中主要服務器與次要服務器為何)
選擇一台監控服務器最好不同於主要服務器或次要服務器
設定所有服務器之安全性您用來設定日志傳送的Windows帳號必須擁有所有服務器上SQL Server系統管理者(sa)的權限
在主要/次要服務器上建立分享資料夾首先將來源數據庫交易日志文件所在的目錄設定為分享目錄接著在次要服務器上將您打算回存交易日志文件的目錄也分享出來為了清楚辨別各分享目錄請在分享名稱內注明服務器與數據庫之名稱如果分享目錄名稱已存在您可能需要從分享目錄中刪除或是搬移其它檔案特別是舊的日志備份文件然後再將這些分享目錄的權限開放給每一台服務器上SQL Agent所使用的Windows帳號
決定如何建立並初始化目的地數據庫您可以在日志傳送設定過程就先建立與初始同步化目的地數據庫否則您必須手動進行初始數據庫之回存動作
在Enterprise Manager注冊此三台服務器(即主要次要與監控服務器)
在您完成這些准備動作時您就可以准備激活數據庫維護計劃精靈來設定日志傳送您可以先檢視日志傳送過程的五個連續步驟如圖所示
圖SQL Server 日志傳送的設定步驟
前兩個為選擇性(optional)步驟如果您尚未同步化來源與目的數據庫則步驟會為您先備份來源數據庫然後執行同步化動作在步驟時精靈會將備份文件復制到次要服務器並回存到目的地數據庫
精靈一定會執行其余三項步驟在步驟時精靈將在主要服務器上建立一個SQL Agent工作(job)此工作將會周期性地把交易日志文件內容備份到磁盤檔案內精靈也會在次要服務器上建立一個傳送日志的數據庫維護計劃;此計畫包含兩個SQL Agent工作一個是將交易日志文件復制到次要服務器(步驟)另一個則是將交易日志文件回存到目的數據庫(步驟)這些步驟將建立一組日志傳送服務器(互相有日志傳送關系的兩個數據庫)如果您想要額外提供容錯功能或是設定一台報表服務器那麼您可以將主要服務器與另外一台次要服務器組合在一起再設定一組日志傳送配對服務器
准備工作
准備 Primary Server (以下為Ztao) 及 Secondary Server (以下為IntronTest)
將要作 Log Shipping 的數據庫(以下為IntronERP)之還原模型(Recovery Model)設定為完整(FULL)
將兩台計算機的SQL Server服務賬號加入Administrator群組
建立Primary Server 備份Log的數據夾
a 建立C:\Logfile以存放Primary Server數據庫Transaction Log的備份
b 將C:\Logfile作數據分享分享目錄的權限開放給SQL Agent所使用的Windows帳號
建立 Secondary Server 還原的數據夾(在Secondary Server)
a 建立C:\Shippedlog數據夾以存放從Primary Server傳送過來的Transaction log 的備份
b 建立 C:\Logfile數據夾當角色交換後可存放新Primary Server的數據庫Transaction Log
c 將C:\Logfile數據夾作資源共享分享目錄的權限開放給SQL Agent所使用的Windows帳號
在Primary Server中新增 Secondary Server的注冊信息
逐步設定
在Primary Server中設定Standby Server及Log shipping
開啟Enterprise Manager由工具中點選數據庫維護計劃
歡迎畫面
選取數據庫勾選Log shipping
更新數據最佳化信息維持預設不用選擇!
數據庫完整性檢查維持預設不用選擇!
指定數據庫備份計劃一般不用選擇!
指定交易記錄文件備份磁盤目錄儲存備份文件的目錄指向Primary Server上存放資料日志文件的目錄位置!
指定交易記錄共享在此窗口中您必須指定主服務器上的分享目錄名稱可以按下【…】按鈕後浏覽目錄名稱
指定記錄傳送目的地點選【Add】按鈕後可開啟『新增目的數據庫』對話框
新增目的數據庫輸入所有Secondary Server的相關信息
【伺服務器名稱】下拉式選單會列出您在先前准備工作中曾利用Enterprise Manager所注冊的Secondary Server名稱在【目錄】文字字段裡請輸入Secondary Server的目錄名稱用以接收來源數據庫交易日志文件復本;此名稱為本地端路徑名稱而不是分享目錄名稱
有關數據庫的加載狀態您有兩種選項可以設定不復原模式(No recovery mode)與待命模式(Standby mode)所謂的『不復原模式』表示使用者將無法進行資料查詢唯一可執行的動作只有回存交易日志文件而『待命模式』則是將數據庫設定成只讀狀態;只要不是在回存數據庫的時候您都可以查詢資料窗口內還有一個【終止數據庫中的使用者(建議選項)】選項會在回存數據庫或是回存交易日志文件時發生動作在回存數據庫或是交易日志文件時『回存程序』將是數據庫內唯一的使用者所以Microsoft建議您勾選此選項否則其它使用者可能會影響回存動作的進行
指定記錄傳送目的地該設定完成
初始化目的服務器可以挑選最近一次的備份資料;或是建立一份新的備份資料對大型數據庫而言使用既有的備份資料會比較有效率然而從那次備份之後的所有交易日志文件都必須存在於主要服務器上交易日志文件的分享目錄之中精靈才有辦法復制與回存到次要服務器如果數據庫不是很大那麼讓精靈產生新的備份將會比較簡單
記錄傳送排程可以設定來源數據庫上交易日志文件的備份頻率;也可以設定次要服務器上SQL Agent工作 (由精靈建立的用來復制與加載交易日志文件) 的頻率日志傳送的頻率可粗略設定為一分鐘一次;但以大型數據庫來說
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22535.html