您無法將 SQL Server 2000 記錄傳送組態直接升級到 SQL Server 2005。「資料庫維護計劃精靈」對於 SQL Server 2000 的記錄傳送是不可或缺的一部分,但在 SQL Server 2005 中,已經不再用作記錄傳送設定。因此,當您將伺服器升級到 SQL Server 2005 時,記錄傳送會停止運作。
您可以在維護主要與次要資料庫之間的同步處理時,移轉 SQL Server 2000 記錄傳送設定。此主題描述兩種做法:
- 具容錯移轉的移轉,可讓您在升級記錄傳送設定中的每個伺服器時,仍繼續維持資料庫的可用性。本程序需要您將 SQL Server 2000 記錄傳送設定設為允許容錯移轉。
- 無容錯移轉的移轉,則提供較簡易的程序,不需要容錯移轉到次要伺服器。如果您採用這個程序,當您將主要伺服器升級到 SQL Server 2005 時,將無法使用記錄傳送資料庫。
一旦您完成將記錄傳送組態移轉到 SQL Server 2005,就可以刪除 SQL Server 2000 記錄傳送所建立的資料表和 SQL Server Agent 作業。
限制
當 SQL Server 2000 記錄傳送組態移轉至 SQL Server 2005 之後,次要資料庫就無法進入待命模式。
具容錯移轉的移轉
若要維持 SQL Server 2000 記錄傳送組態的高可用性,您可將記錄傳送與容錯移轉功能一起使用,讓資料庫保持在線上。
在容錯移轉的情況下進行移轉牽涉到暫時將主要伺服器執行個體維持在原始版本的 SQL Server,同時升級次要伺服器執行個體。升級伺服器執行個體只會升級線上資料庫。離線資料庫 (例如:記錄傳送次要資料庫) 會維持在原始版本的 SQL Server。只要資料庫維持離線,從原始版本 SQL Server 製作的記錄備份就可以還原。因此,記錄傳送可以繼續從主要資料庫還原記錄備份,直到容錯移轉將它帶上線成為新的主要資料庫。
為了能夠順利完成這個程序,SQL Server 2000 必須已經設定好記錄傳送,而且您的設定必須允許主要與次要資料庫之間的容錯移轉。為了清楚起見,以下程序將 SQL Server 2000 記錄傳送主要伺服器執行個體稱為「伺服器 A」,將 SQL Server 2000 記錄傳送次要伺服器執行個體稱為「伺服器 B」。
- 將「伺服器 B」升級到 SQL Server 2005。升級伺服器 B 時,記錄傳送資料庫會維持在 SQL Server 2000 資料庫,因為它是離線的。這個資料庫將於下一個步驟中升級。
附註:此時,使用者可以繼續存取伺服器 A 上的主要資料庫。 - 套用「伺服器 A」上主要資料庫的所有必要交易記錄檔,並使用 NORECOVERY 來備份主要資料庫,以從「伺服器 A」容錯移轉到「伺服器 B」。讓「伺服器 B」上的次要資料庫成為線上工作狀態時,它會自動升級到 SQL Server 2005 資料庫。資料庫升級程序是完整記錄作業。
附註:升級完成後,伺服器 B 上的記錄傳送資料庫便可供使用者存取。除非在伺服器 B 設定 SQL Server 2005 記錄傳送,否則伺服器 B 上之資料庫的記錄備份無法套用到伺服器 A 上的資料庫。 - 將「伺服器 A」升級到 SQL Server 2005。記錄傳送資料庫會維持為 SQL Server 2000 資料庫,因為它是離線的。
- 在「伺服器 B」上,以「伺服器 B」做為主要伺服器,並以「伺服器 A」做為次要伺服器,來設定 SQL Server 2005 記錄傳送。如果您開始將交易記錄檔傳送到「伺服器 A」,則在套用第一個記錄備份時,「伺服器 A」上的記錄傳送資料庫就會升級到 SQL Server 2005 資料庫。
當您設定「伺服器 B」上的記錄傳送時,請確定在 [次要資料庫設定] 對話方塊的 [初始化次要資料庫] 索引標籤上,指定了 [否,次要資料庫已初始化] 選項。如需詳細資訊,請參閱<如何:啟用記錄傳送 (SQL Server Management Studio)>。 - 或者,如果您想要使「伺服器 A」再度成為主要伺服器,請容錯移轉到「伺服器 A」。如需詳細資訊,請參閱<變更主要和次要伺服器間的角色>。
無容錯移轉的移轉
您也可以不使用容錯移轉,便將 SQL Server 2000 記錄傳送設定移轉到 SQL Server 2005。這個程序可讓您輕鬆地同時升級記錄傳送設定中的兩個伺服器執行個體;不過,當您將主要伺服器執行個體升級到 SQL Server 2005 時,將無法使用主要資料庫。
- 將次要伺服器執行個體升級到 SQL Server 2005。當您升級次要伺服器執行個體時,記錄傳送資料庫仍是 SQL Server 2000 資料庫,因為它處於離線狀態。
- 將主要伺服器升級到 SQL Server 2005。當升級進行中時,無法使用主要資料庫。
- 設定從主要伺服器執行個體到次要伺服器執行個體的記錄傳送。請確定在 [次要資料庫設定] 對話方塊的 [初始化次要資料庫] 索引標籤上,指定 [否,次要資料庫已初始化] 選項。如需詳細資訊,請參閱<如何:啟用記錄傳送 (SQL Server Management Studio)>。
因為資料庫升級程序是完整記錄作業,所以在開始傳送記錄到次要伺服器執行個體時,次要資料庫就會升級到 SQL Server 2005 資料庫。
重要事項:指定 SQL Server 2000 記錄傳送設定所使用的同一個備份共用。這樣可確保在 SQL Server 2005 啟用記錄傳送時,所有記錄備份都能正確地套用到次要資料庫。
重新部署記錄傳送
如果不想使用上述任一個程序來移轉您的記錄傳送設定,則也可以重新部署記錄傳送,方法是利用主要資料庫的完整備份與還原,來重新初始化次要資料庫。如果您的資料庫較小,或是升級程序期間不需要高可用性,這個方法可能會比較適用。
如需有關使用 SQL Server Management Studio 啟用記錄傳送的資訊,請參閱<如何:啟用記錄傳送 (SQL Server Management Studio)>。
如需有關使用 Transact-SQL 啟用記錄傳送的資訊,請參閱<如何:啟用記錄傳送 (Transact-SQL)>。
移除 SQL Server 2000 記錄傳送資料表和作業
在部署新的記錄傳送設定之後,您就可以移除仍在電腦上的 SQL Server 2000 記錄傳送資料表和作業。
SQL Server 2005 不會使用 SQL Server 2000 所用的任何一個記錄傳送資料表。因此,在將伺服器升級到 SQL Server 2005 之後,您就可以刪除以下資料表:
- 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 作業。