SQL Server 2000之日志傳送功能 - 設定(3)
2024-08-31 00:48:20
供稿:網友
 
sql server 2000之日志傳送功能 - 設定(3)
更改日志傳送之組態設定
        您可以使用數據庫維護計劃之【屬性】對話盒來更改日志傳送相關設定。在【交易記錄文件備份】設定頁提供的選項可更改日志傳送過程中交易日志文件備份的組態。
        【記錄傳送】設定頁顯示出您先前在維護計劃內設定的日志傳送配對服務器;如果您設定了其它組日志傳送配對服務器,也會列在此處。本設定頁也包含下列選項:新增目的數據庫(用以建立新的日志傳送配對服務器)、刪除既有日志傳送配對服務器、編輯目前的日志傳送配對服務器之屬性,以及移除整個日志傳送功能。
        當您在【記錄傳送】設定頁之中點選【編輯】時,將開啟【編輯目的數據庫】對話盒。您可以在對話盒內【一般】設定頁檢視與修改次要服務器的交易日志文件之目錄位置,以及未來做為主要服務器時分享目錄之路徑。【初始化】設定頁則可讓您更改復原模式,以及次要服務器上復制與回存之頻率。【臨界值】頁可以設定日志傳送之臨界周期。
        在【超出同步臨界值】項目可設定:當日志傳送監控程序產生警示訊息之前所能允許的最大時間間隔 (介于最近一次來源數據庫交易日志文件備份以及最新的交易日志文件回存動作之間)。您也可以在日志傳送監控程序之中設定此參數。【在入時間延遲】、【檔案保留期限】以及【歷程記錄保留期限】則是與次要服務器相關的設定。
 
注:監控服務器在這些組態選項中扮演相當重要的角色。因為【記錄傳送】設定頁的大部分信息取決于監控服務器,所以一但監控服務器停擺時,您將無法更改日志傳送的組態設定值。在監控服務器執行sql server 2000 profiler時,主要服務器會連到監控服務器,然后從日志傳送資料表中取得既有的日志傳送計劃。因此,要改變日志傳送計劃的設定時,您必須確定在enterprise manager內可以連接到監控服務器。
檢查與監控日志傳送動作 
        sql server 2000的日志傳送功能還提供了一項日志傳送監控程序,可讓您安裝在另一臺獨立監控用服務器。
        在sql server企業版與開發版的msdb數據庫中共有七個關于日志傳送的資料表:
            log_shipping_plans 
            log_shipping_plan_databases 
            log_shipping_databases 
            log_shipping_plan_history 
            log_shipping_monitor 
            log_shipping_primaries 
            log_shipping_secondaries
 
        上述每一個資料表都存在于主要、次要以及監控服務器上。各服務器也會使用某些資料表儲存資料,視該服務器在日志傳送系統的角色為何。
 
        在主要服務器上檢視日志傳送動作 從enterprise manager 里,您可以登入主要服務器,并觀察與監控日志傳送動作。如果某個數據庫已設定要進行日志傳送,在數據庫【內容】對話盒的【一般】頁可得知該數據庫的角色(來源數據庫;或是目的數據庫),也可知道日志傳送監控程序是位于那一臺服務器上。您可以在enterprise manager內sql server agent的【作業】節點,檢視日志傳送與交易日志文件備份工作所執行的狀態與歷史紀錄。主要服務器只使用msdb數據庫的兩個日志傳送資料表。在log_shipping_databases資料表中,sql server新增的每一筆資料將會把數據庫維護計劃id以及日志傳送來源數據庫連結在一起。在log_shipping_monitor資料表中,sql server新增的每一筆資料包含了監控服務器的名稱,以及登入數據庫的方式。
 
        在次要服務器上檢視日志傳送動作 日志傳送計劃存在于次要服務器。您可在次要服務器監控sql agent工作(復制交易日志文件到次要服務器,并回存至目的數據庫)。 您也可檢視目的數據庫的屬性對話盒,以決定該數據庫在日志傳送過程所扮演的角色。
 
        在次要服務器上,sql server使用msdb數據庫的四個日志傳送資料表。當sql server建立一個日志傳送計劃之后,它會新增一筆資料到log_shipping_plan資料表,用以紀錄:主要與次要服務器的名稱、檔案位置、復制與回存工作id(來自于次要服務器之sysjobs系統資料表)。在log_shipping_plan_databases資料表,sql server會連結維護計劃以及來源/目的數據庫名稱,而且儲存最后一次進行檔案復制與加載動作的相關信息。log_shipping_plan_history資料表則是將每次日志傳送的復制與回存事件紀錄下來,連同該工作是否成功的信息。sql server也會新增一筆資料在log_shipping_monitor資料表,用以參照監控服務器。
 
        如果您勾選了【allow database to assume primary role】復選框,您將在次要服務器上看到一個重要的額外項目:另一個數據庫維護計劃(與您先前所建立的維護計劃名稱相同),但是并沒有激活日志傳送。您也會看到一個非作用中(disabled)的sql agent工作(備份該數據庫的交易日志)。也許您會被這些項目所混淆。盡管它們的名字相同,但是此額外產生的維護計劃卻不同于當初所建立的那個。sql server保留第二個逆向維護計劃是為了以后可能發生的主要/次要服務器角色對調動作所準備。
        在監控服務器上檢視日志傳送動作 當您正確設定日志傳送之后,sql server 會激活監控服務器上enterprise manager 的日志傳送監控工具程序。此外,sql server會建立兩個sql agent 警示工作(alert job):一個用來執行工作,另一個處理out-of-sync情況。
 
        使用監控工具程序的方式是,開啟enterprise manager并連至監控服務器,展開【management】節點,然后點選【記錄傳送監視器(log shipping monitor)】。當您點選此工具程序時,其內會列出日志傳送配對服務器的清單。您可在配對服務器上按下鼠標右鍵,檢視其備份、復制與回存等工作的執行歷史紀錄。這些歷史紀錄十分有用,因為您從這里得到的錯誤訊息會比從次要服務器上(sql agent 復制與回存工作)得到的更為詳盡。
        如圖所示:當您開啟配對服務器之屬性對話盒,并進入【status】設定頁時,您可檢視此配對服務器執行備份與回存程序之狀態。
        其狀態(status)可以是normal 或是out-of-sync。如果sql server agent尚未復制或回存交易日志文件,對話盒內將會顯示日志文件名為first_file_000000000000.trn。這并不是實際的文件名稱,只不過是用來標示sql server agent尚未處理任何檔案而已。在【status】設定頁也會顯示備份、復制以及加載(回存)等動作執行時所耗費的時間。此設定頁之信息不會自動更新,所以您必須將此對話盒關閉后再開啟,才能更新其資料。
  
        sql server只使用msdb數據庫內兩個資料表來儲存日志傳送服務器之相關資料。sql server在這兩個資料表中都給予一個id做為連結,以及一個外來鍵(foreign key)。該外來鍵是設定在log_shipping_secondaries資料表上,并參照log_shipping_primaries資料表的primary_id字段(這兩個是所有日志傳送資料表中唯一具有外來鍵關系的資料表)。在log_shipping_primaries資料表內的每筆資料都包含日志傳送的相關信息,例如:來源數據庫名稱、交易日志文件備份工作執行之狀態,以及已規劃的停擺信息(可避免不必要的警示訊息)。而log_shipping_secondaries 資料表之每筆資料關于目的數據庫之信息;每個目的數據庫附屬于特定的日志傳送來源數據庫。這兩個資料表互相連結的結果就是日志傳送監控程序內所顯示的配對服務器信息。
移除與重新組態日志傳送功能
        如果您想從數據庫維護計劃中移除日志傳送功能,可參考下列方式:開啟該計劃的屬性對話盒,選擇【記錄傳送】設定頁,然后點選【移出記錄傳送】。此動作將從次要服務器上移除sql server agent的備份與回存工作,并清除日志傳送資料表內的所有相關資料。此外,日志傳送監控程序的相關信息也會一并被清除。然而此動作將會適當地保留主要服務器上sql server agent的交易日志備份工作。只有在刪除數據庫維護計劃時,該工作才會被移除。假如您想從監控服務器內移除掉日志傳送監控程序,請用手動方式將log_shipping_primaries與log_shipping_secondaries這兩個資料表(位于監控服務器的msdb數據庫)的資料刪除即可。
        如果您在數據庫維護計劃內設定日志傳送時,就已允許目的數據庫可以做為新的日志傳送來源數據庫。當您刪除主要服務器的維護計劃時,次要服務器上仍然會保留其數據庫維護計劃,以及交易日志文件備份工作。刪除這些項目的方式是將次要服務器上與日志傳送相關的數據庫維護計劃直接刪除。