將SQL 2000日志遷移到SQL Server 2008
—— 閱讀:11207次
不能將 SQL Server 2000 日志傳送配置升級(jí)到 SQL Server 2008。數(shù)據(jù)庫(kù)維護(hù)計(jì)劃向?qū)?SQL Server 2000 中日志傳送的組成部分,不再用作 SQL Server 2005 及更高版本中日志傳送配置的一部分。因此,將服務(wù)器升級(jí)到 SQL Server 2008 之后,日志傳送將無(wú)法正常工作。
您可以遷移SQL Server 2000日志傳送配置。本文將介紹執(zhí)行此操作的方法:
執(zhí)行帶故障轉(zhuǎn)移的遷移可以在升級(jí)日志傳送配置中的每個(gè)服務(wù)器時(shí)保持?jǐn)?shù)據(jù)庫(kù)的可用性。輔助數(shù)據(jù)庫(kù)不需要重新初始化。
執(zhí)行不帶故障轉(zhuǎn)移的遷移是一個(gè)比較簡(jiǎn)單的過(guò)程,在此過(guò)程中無(wú)需故障轉(zhuǎn)移到輔助服務(wù)器。如果執(zhí)行此過(guò)程,則數(shù)據(jù)庫(kù)在升級(jí)主服務(wù)器時(shí)不可用。輔助數(shù)據(jù)庫(kù)不需要重新初始化。
完全重新部署日志傳送,包括從一個(gè)完整備份中重新初始化輔助數(shù)據(jù)庫(kù)。
將日志傳送配置遷移到 SQL Server 2008 后,就可以刪除由 SQL Server 2000 日志傳送創(chuàng)建的表和 SQL Server 代理作業(yè)。
注意:
SQL Server 2008 Enterprise 中引入了備份壓縮。遷移后的日志傳送配置使用“備份壓縮默認(rèn)的”服務(wù)器級(jí)配置選項(xiàng)控制是否對(duì)事務(wù)日志備份文件使用備份壓縮?梢詾槊總(gè)日志傳送配置指定日志備份的備份壓縮行為。
限制
在 SQL Server 2000 日志傳送配置遷移至 SQL Server 2008 之后,輔助數(shù)據(jù)庫(kù)將無(wú)法處于備用模式下。
執(zhí)行帶故障轉(zhuǎn)移的遷移
使用故障轉(zhuǎn)移遷移日志傳送配置時(shí),會(huì)在升級(jí)輔助服務(wù)器實(shí)例期間將主服務(wù)器實(shí)例暫時(shí)保留為 SQL Server 原始版本的實(shí)例。升級(jí)服務(wù)器實(shí)例僅會(huì)升級(jí)聯(lián)機(jī)數(shù)據(jù)庫(kù)。脫機(jī)數(shù)據(jù)庫(kù)(例如日志傳送輔助數(shù)據(jù)庫(kù))仍然是 SQL Server 原始版本的數(shù)據(jù)庫(kù)。只要數(shù)據(jù)庫(kù)保持脫機(jī)狀態(tài),就可以還原 SQL Server 原始版本的日志備份。
為清晰起見,本過(guò)程將 SQL Server 2000 日志傳送主服務(wù)器實(shí)例稱為服務(wù)器 A,將 SQL Server 2000 日志傳送輔助服務(wù)器實(shí)例稱為服務(wù)器 B。下圖顯示了此配置,其中 A 為主服務(wù)器實(shí)例,B 為單一輔助服務(wù)器實(shí)例。
將輔助服務(wù)器實(shí)例 Server B 升級(jí)到 SQL Server 2008。升級(jí) Server B 后,日志傳送數(shù)據(jù)庫(kù)仍然是 SQL Server 2000 數(shù)據(jù)庫(kù),因?yàn)樗幱诿摍C(jī)狀態(tài)。此數(shù)據(jù)庫(kù)將在下一步升級(jí)。復(fù)制和還原日志文件的 SQL Server 2000 日志傳送作業(yè)將不再起作用。
注意:
此時(shí),用戶可以繼續(xù)訪問(wèn) Server A 上的主數(shù)據(jù)庫(kù)。
從主服務(wù)器實(shí)例(服務(wù)器 A)到輔助服務(wù)器實(shí)例(服務(wù)器 B)的故障轉(zhuǎn)移。
若要進(jìn)行故障轉(zhuǎn)移,請(qǐng)將服務(wù)器 A 上的主數(shù)據(jù)庫(kù)中所有尚未應(yīng)用的事務(wù)日志備份還原到服務(wù)器 B。
對(duì)于指定 WITH NORECOVERY 的主數(shù)據(jù)庫(kù)上的事務(wù)日志,手動(dòng)執(zhí)行結(jié)尾日志備份。此日志備份捕獲任何尚未備份的日志記錄并使數(shù)據(jù)庫(kù)脫機(jī)。
下面的示例在主服務(wù)器上備份 AdventureWorks 數(shù)據(jù)庫(kù)的日志結(jié)尾。此備份文件名為 Failover_AW_20080315.trn:
BACKUP LOG AdventureWorks TO DISK = N''\\FileServer\LogShipping\AdventureWorks\Failover_AW_20080315.trn''WITH NORECOVERY;GO
通過(guò)使用 WITH RECOVERY 還原事務(wù)日志結(jié)尾,使服務(wù)器 B 上的輔助數(shù)據(jù)庫(kù)聯(lián)機(jī)。
故障轉(zhuǎn)移過(guò)程使輔助數(shù)據(jù)庫(kù)聯(lián)機(jī),之后將自動(dòng)升級(jí)到 SQL Server 2008 數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)升級(jí)過(guò)程將被完整地記錄下來(lái)。
注意:
升級(jí) Server B 上的日志傳送數(shù)據(jù)庫(kù)后,用戶即可使用該數(shù)據(jù)庫(kù)。但是,除非已在服務(wù)器 B 上配置 SQL Server 2008 日志傳送,否則不會(huì)采用來(lái)自服務(wù)器 B 上的數(shù)據(jù)庫(kù)的日志備份。
將 Server A 升級(jí)到 SQL Server 2008。日志傳送數(shù)據(jù)庫(kù)臨時(shí)保持為 SQL Server 2000 數(shù)據(jù)庫(kù),因?yàn)樗幱诿摍C(jī)狀態(tài)。
在 Server B 上配置 SQL Server 2008 日志傳送,將 Server B 作為主服務(wù)器,而將 Server A 作為輔助服務(wù)器。開始向 Server A 傳送事務(wù)日志后,當(dāng)應(yīng)用了第一個(gè)日志備份時(shí),Server A 上的日志傳送數(shù)據(jù)庫(kù)將升級(jí)為 SQL Server 2008 數(shù)據(jù)庫(kù)。
重要提示:
在 Server B 上配置日志傳送時(shí),請(qǐng)確保在“輔助數(shù)據(jù)庫(kù)設(shè)置”對(duì)話框的“初始化輔助數(shù)據(jù)庫(kù)”選項(xiàng)卡上指定“否,輔助數(shù)據(jù)庫(kù)已初始化”選項(xiàng)。
。ǹ蛇x)若要使 Server A 重新成為主服務(wù)器,則故障轉(zhuǎn)移到 Server A。
執(zhí)行不帶故障轉(zhuǎn)移的遷移
可以將 SQL Server 2000 日志傳送配置遷移到 SQL Server 2005,而無(wú)需使用故障轉(zhuǎn)移。執(zhí)行此過(guò)程可以輕松地同時(shí)升級(jí)日志傳送配置中的兩個(gè)服務(wù)器實(shí)例。但是,在將主服務(wù)器實(shí)例升級(jí)到 SQL Server 2008 時(shí),主數(shù)據(jù)庫(kù)不可用。
將輔助服務(wù)器實(shí)例升級(jí)到 SQL Server 2008。升級(jí)輔助服務(wù)器實(shí)例后,日志傳送數(shù)據(jù)庫(kù)仍然是 SQL Server 2000 數(shù)據(jù)庫(kù),因?yàn)樗幱诿摍C(jī)狀態(tài)。復(fù)制和還原日志文件的 SQL Server 2000 日志傳送作業(yè)將不再起作用。
將主服務(wù)器升級(jí)到 SQL Server 2008。在升級(jí)過(guò)程中,主服務(wù)器不可用。
配置從主服務(wù)器實(shí)例到輔助服務(wù)器實(shí)例的日志傳送。請(qǐng)確保在“輔助數(shù)據(jù)庫(kù)設(shè)置”對(duì)話框的“初始化輔助數(shù)據(jù)庫(kù)”選項(xiàng)卡上指定“否,輔助數(shù)據(jù)庫(kù)已初始化”選項(xiàng)。
重要提示:
指定 SQL Server 2000 日志傳送配置所使用的同一備份共享。這樣可確保在 SQL Server 2008 中啟用日志傳送時(shí),所有日志備份都能正確地應(yīng)用于輔助數(shù)據(jù)庫(kù)。
由于數(shù)據(jù)庫(kù)升級(jí)進(jìn)程是一個(gè)完整記錄的操作,因此當(dāng)開始向輔助服務(wù)器實(shí)例傳送日志后,輔助數(shù)據(jù)庫(kù)將升級(jí)為 SQL Server 2008 數(shù)據(jù)庫(kù)。
重新部署日志傳送
如果不想遷移日志傳送配置,可以通過(guò)使用主數(shù)據(jù)庫(kù)的完整備份和恢復(fù)來(lái)重新初始化輔助數(shù)據(jù)庫(kù),從而從頭開始重新部署日志傳送。如果數(shù)據(jù)庫(kù)較小,或者在升級(jí)過(guò)程中高可用性并不是至關(guān)重要的,此方法將是個(gè)不錯(cuò)的選擇。
啟用日志傳送
如何啟用日志傳送 (SQL Server Management Studio).
如何啟用日志傳送 (Transact-SQL).
刪除 SQL Server 2000 日志傳送表和作業(yè)
SQL Server 2008 不會(huì)使用 SQL Server 2000 所使用的任何日志傳送表。因此,將服務(wù)器升級(jí)到 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 為日志傳送配置創(chuàng)建的任何日志傳送 SQL Server 代理作業(yè)。