將 SQL Server 2000 記錄傳送設定移轉到 SQL Server 2008

您無法將 SQL Server 2000 記錄傳送設定升級到 SQL Server 2008。「資料庫維護計畫精靈」對於 SQL Server 2000 的記錄傳送是不可或缺的一部分,但從 SQL Server 2005 開始,已經不再當做記錄傳送設定。因此,當您將伺服器升級到 SQL Server 2008 時,記錄傳送會停止運作。

您可以移轉 SQL Server 2000 記錄傳送設定。本主題描述這樣做的方法:

  • 具容錯移轉的移轉,可讓您在升級記錄傳送設定中的每個伺服器時,仍繼續維持資料庫的可用性。次要資料庫不需要重新初始化。

  • 無容錯移轉的移轉,則提供較簡易的程序,不需要容錯移轉到次要伺服器。如果您採用這個程序,當您升級主要伺服器時,將無法使用資料庫。次要資料庫不需要重新初始化。

  • 完整地重新部署記錄傳送,包括從完整備份重新初始化次要資料庫。

一旦您將記錄傳送設定移轉到 SQL Server 2008 之後,就可以刪除 SQL Server 2000 記錄傳送所建立的資料表和 SQL Server Agent 作業。

[!附註]

SQL Server 2008 Enterprise 中所導入的<備份壓縮>。移轉的記錄傳送設定會使用 backup compression default 伺服器層級組態選項來控制備份壓縮是否會用於交易記錄備份檔案。可以針對每一個記錄傳送設定來指定記錄備份的備份壓縮行為。如需詳細資訊,請參閱<如何:啟用記錄傳送 (SQL Server Management Studio)>。

限制

當 SQL Server 2000 記錄傳送設定移轉到 SQL Server 2008 之後,次要資料庫便無法置於待命模式下。

具容錯移轉的移轉

使用容錯移轉來移轉記錄傳送設定時,將牽涉到暫時將主要伺服器執行個體維持在原始版本的 SQL Server,同時升級次要伺服器執行個體。升級伺服器執行個體只會升級線上資料庫。離線資料庫 (例如:記錄傳送次要資料庫) 會維持在原始版本的 SQL Server。只要資料庫維持離線,從原始版本 SQL Server 製作的記錄備份就可以還原。

為了加以釐清,這個程序會參考 SQL Server 2000 記錄傳送的主要伺服器執行個體當做伺服器 A,並參考 SQL Server 2000 記錄傳送的次要伺服器執行個體當做伺服器 B。下圖中表示這個組態,圖中會顯示主要伺服器執行個體 A 及單一次要伺服器執行個體 B。

一台次要伺服器,但是沒有監視伺服器

  1. 將次要伺服器執行個體「伺服器 B」升級到 SQL Server 2008。升級伺服器 B 時,記錄傳送資料庫會維持在 SQL Server 2000 資料庫,因為它是離線的。這個資料庫將於下一個步驟中升級。複製及還原記錄檔的 SQL Server 2000 記錄傳送作業將不再運作。

    [!附註]

    此時,使用者可以繼續存取伺服器 A 上的主要資料庫。

  2. 從主要伺服器執行個體 (伺服器 A) 容錯移轉到次要伺服器執行個體 (伺服器 B)。

    1. 若要進行容錯移轉,請從伺服器 A 上的主要資料庫將所有未套用的交易記錄備份還原到伺服器 B。

    2. 指定 WITH NORECOVERY 在主要資料庫上手動備份交易記錄的結尾。這個記錄備份會擷取任何尚未備份的記錄檔記錄,並讓資料庫離線。

      下列範例會在主要伺服器上備份 AdventureWorks 資料庫的結尾記錄。備份檔案命名為 Failover_AW_20080315.trn:

      BACKUP LOG AdventureWorks 
        TO DISK = N'\\FileServer\LogShipping\AdventureWorks\Failover_AW_20080315.trn'
        WITH NORECOVERY;
      GO
      
    3. 使用 WITH RECOVERY 來還原交易記錄結尾,讓伺服器 B 上的次要資料庫位於線上。

    此容錯移轉程序會讓次要資料庫處於線上狀態,然後它便自動升級為 SQL Server 2008 資料庫。資料庫升級程序是完整記錄作業。

    [!附註]

    升級完成後,伺服器 B 上的記錄傳送資料庫便可供使用者存取。除非在伺服器 B 上設定 SQL Server 2008 記錄傳送,否則不會進行伺服器 B 上之資料庫的記錄備份。

  3. 將「伺服器 A」升級到 SQL Server 2008。記錄傳送資料庫會暫時維持為 SQL Server 2000 資料庫,因為它是離線的。

  4. 在「伺服器 B」上,以「伺服器 B」做為主要伺服器,並以「伺服器 A」做為次要伺服器,來設定 SQL Server 2008 記錄傳送。當您開始將交易記錄傳送到「伺服器 A」之後,則在套用第一個記錄備份時,「伺服器 A」上的記錄傳送資料庫就會升級到 SQL Server 2008 資料庫。

    重要注意事項重要事項

    當您設定「伺服器 B」上的記錄傳送時,請確定在 [次要資料庫設定] 對話方塊的 [初始化次要資料庫] 索引標籤上,指定了 [否,次要資料庫已初始化] 選項。如需詳細資訊,請參閱<如何:啟用記錄傳送 (SQL Server Management Studio)>。

  5. 或者,如果您想要使「伺服器 A」再度成為主要伺服器,請容錯移轉到「伺服器 A」。如需詳細資訊,請參閱<變更主要和次要伺服器間的角色>。

無容錯移轉的移轉

您也可以不使用容錯移轉,便將 SQL Server 2000 記錄傳送設定移轉到 SQL Server 2005。這個程序可讓您輕鬆地同時升級記錄傳送設定中的兩個伺服器執行個體;不過,當您將主要伺服器執行個體升級到 SQL Server 2008 時,將無法使用主要資料庫。

  1. 將次要伺服器執行個體升級到 SQL Server 2008。當您升級次要伺服器執行個體時,記錄傳送資料庫仍是 SQL Server 2000 資料庫,因為它處於離線狀態。複製及還原記錄檔的 SQL Server 2000 記錄傳送作業將不再運作。

  2. 將主要伺服器升級到 SQL Server 2008。當升級進行中時,無法使用主要資料庫。

  3. 設定從主要伺服器執行個體到次要伺服器執行個體的記錄傳送。請確定在 [次要資料庫設定] 對話方塊的 [初始化次要資料庫] 索引標籤上,指定 [否,次要資料庫已初始化] 選項。如需詳細資訊,請參閱<如何:啟用記錄傳送 (SQL Server Management Studio)>。

    重要注意事項重要事項

    指定 SQL Server 2000 記錄傳送設定所使用的同一個備份共用。這樣可確保在 SQL Server 2008 中啟用記錄傳送時,所有記錄備份都能正確地套用到次要資料庫。

    因為資料庫升級程序是完整記錄作業,所以在開始傳送記錄到次要伺服器執行個體時,次要資料庫就會升級到 SQL Server 2008 資料庫。

重新部署記錄傳送

如果您不想移轉您的記錄傳送設定,也可以重新部署記錄傳送,方法是利用主要資料庫的完整備份與還原來重新初始化次要資料庫。如果您的資料庫較小,或是升級程序期間不需要高可用性,這個方法可能會比較適用。

啟用記錄傳送

移除 SQL Server 2000 記錄傳送資料表和作業

SQL Server 2008 不會使用 SQL Server 2000 所用的任何一個記錄傳送資料表。因此,將伺服器升級到 SQL Server 2008 之後,您就可以刪除以下資料表:這些資料表如下:

  • log_shipping_databases

  • log_shipping_monitor

  • log_shipping_plan_databases

  • log_shipping_plan_history

  • log_shipping_plans

  • log_shipping_primaries

  • log_shipping_secondaries

您也可以刪除 SQL Server 2000 針對記錄傳送設定所建立的任何記錄傳送 SQL Server Agent 作業。