共用方式為


升級複寫的資料庫

更新: 2006 年 7 月 17 日

SQL Server 2005 支援從舊版 SQL Server 升級複寫資料庫;升級節點時,不需要停止其他節點上的活動。請確定您遵守有關拓撲中支援之版本的規則:

  • SQL Server 7.0 版 Service Pack 4 (SP4) 是 SQL Server 2005 參與之複寫拓撲所需的最低版本。如果您使用 SQL Server 2000,則需要 Service Pack 3 (SP3) 或更高版本。
  • 散發者可以是任何版本,只要其高於或等於發行者版本 (在許多情況下,散發者與發行者為同一執行個體)。
  • 發行者可以是任何版本,只要它小於或等於散發者版本即可。
  • 訂閱者版本視發行集的類型而定:
    • 交易式發行集的唯讀訂閱者可以是兩個發行者版本內的任何版本。例如:執行中的 SQL Server 7.0 版發行者可以有 SQL Server 2005 訂閱者;SQL Server 2005 發行者可以有 SQL Server 7.0 版訂閱者。
    • SQL Server 2005 交易式發行集的可更新「訂閱者」可以是等於或高於 SQL Server 2000 SP3 的任何版本。
    • 合併式發行集的訂閱者可以是小於或等於發行者版本的任何版本。
ms143699.note(zh-tw,SQL.90).gif附註:
有關這個主題,請參閱「安裝說明」文件集和《SQL Server 2005 線上叢書》。在「安裝說明」文件集中,以粗體文字表示的主題連結只會參考線上叢書中的主題。

升級到 Standard Edition、Workgroup Edition 或 Express Edition

從 SQL Server 2005 的一個版本升級到另一個版本之前,請確認您目前使用的功能在您想要升級後的版本中受到支援。如需詳細資訊,請參閱<SQL Server 2005 版本支援的功能>主題中的「SQL Server 2005 複寫功能」一節。

新增複寫代理程式安全性模型

在舊版的 SQL Server 中,依預設,代理程式是依 SQL Server Agent 服務帳戶的內容執行。SQL Server 2005 對於複寫代理程式執行及使 Windows 整合式連接到資料庫和其他資源時所依據的每一個帳戶有較細控制權;可對每一個代理程式指定不同帳戶。如需詳細資訊,請參閱<複寫安全性考量>和<複寫代理程式安全性模型>。

新的安全性模型有下列含意,能在拓撲中升級和執行多個 SQL Server 版本:

  • 從 SQL Server 2000 或 SQL Server 7.0 建立的複寫指令碼應該針對 SQL Server 2005 而升級,才能利用安全性增強功能的好處。如需詳細資訊,請參閱<How to: Upgrade Replication Scripts (Replication Transact-SQL Programming)>。
  • 從舊版的 SQL Server 升級到 SQL Server 2005 的散發者或訂閱者仍繼續在 SQL Server Agent 帳戶下執行,而且擁有的權限可能比它需要的更多。升級之後,我們建議您為代理程式指定具有適當基本權限的個別帳戶。若要指定個別帳戶:
    1. 撰寫發行集和訂閱的指令碼。
    2. 變更指令碼。如需詳細資訊,請參閱<How to: Upgrade Replication Scripts (Replication Transact-SQL Programming)>。
    3. 卸除發行集和訂閱。如需詳細資訊,請參閱<發行資料和資料庫物件>和<訂閱發行集>。
    4. 使用修改的指令碼重新建立它們。
      如需有關代理程式所需權限的資訊,請參閱<複寫代理程式安全性模型>;如需有關管理登入和密碼的資訊,請參閱<管理複寫的登入與密碼>。升級之後所建立的新複寫組態,對於每個複寫代理程式都需要特定的帳戶組態。
    ms143699.note(zh-tw,SQL.90).gif附註:
    設定為對本機資料庫連接使用 SQL Server 驗證的任何代理程式,變更為使用 Windows 驗證。本機連接是指代理程式對於在相同電腦上以代理程式執行的 SQL Server 執行個體所建立的連接。例如,提取訂閱的合併代理程式在訂閱者端執行,因此它對訂閱者所建立的連接就是本機連接。
  • 複寫拓撲中執行舊版 SQL Server 的參與者對先前的複寫安全性模式保持不變。例如:
    • 對執行 SQL Server 2000 或 SQL Server 7.0 版的訂閱者的提取訂閱不使用新的安全性模式,因為合併代理程式或散發是建立在訂閱者端。
    • 從執行 SQL Server 2005 的散發者到執行 SQL Server 2000 或 SQL Server 7.0 版的訂閱者的發送訂閱使用新的安全性模式,因為合併代理程式或散發是建立在散發者端。
    • 執行 SQL Server 2000 或 SQL Server 7.0 版的發行者 (具有執行 SQL Server 2005 的散發者) 不使用新的安全性模式 (對於快照集代理程式、記錄讀取器代理程式或佇列讀取器代理程式),因為代理程式是在發行集資料庫的內容中建立的。

升級之後為合併式複寫執行代理程式

升級之後,請為每一個合併式發行集執行快照集代理程式,並為每一個訂閱執行合併代理程式來更新複寫中繼資料。您不必套用新的快照集,因為不需要重新初始化訂閱。在升級之後,第一次執行合併代理程式時會更新訂閱中繼資料。這表示在發行者升級時,訂閱資料庫可以持續在線上運作並保持使用中狀態。 

合併式複寫會將發行集與訂閱中繼資料儲存在發行集與訂閱資料庫中的許多系統資料表內。執行快照集代理程式會更發行集中繼資料,執行合併代理程式會更新訂閱中繼資料。只有要產生發行集快照集時才需要它。如果合併式發行集使用參數化篩選,則每一個資料分割也有快照集。不需要更新這些資料分割快照集。(在 SQL Server 2000 中,「參數化篩選」是稱為「動態篩選」「資料分割快照集」是稱為「動態快照集」)。

請從 Microsoft SQL Server Management Studio、複寫監視器或命令列執行代理程式。如需有關執行快照集代理程式的詳細資訊,請參閱下列主題:

如需有關執行合併代理程式的詳細資訊,請參閱下列主題:

在使用合併式複寫的拓撲中升級 SQL Server 之後,如果您想要使用新功能,請變更任何發行集的發行集相容性層級。如需詳細資訊,請參閱<在複寫拓撲中使用多個 SQL Server 版本>。

合併式複寫的 Web 同步處理

合併式複寫的 Web 同步處理選項要求,必須將 SQL Server Replication Listener (replisapi.dll) 複製到用於同步處理之 Internet Information Services (IIS) 伺服器上的虛擬目錄。當您設定 Web 同步處理時,「設定 Web 同步處理精靈」會將檔案複製到虛擬目錄。如果您升級安裝在 IIS 伺服器上的 SQL Server 元件,您必須將 replisapi.dll 從 COM 目錄手動複製到 IIS 伺服器上的虛擬目錄。如需有關設定 Web 同步處理的詳細資訊,請參閱<設定 Web 同步處理>。

從舊版還原複寫的資料庫

若要確定從舊版還原複寫資料庫的備份時有保留複寫設定:還原到與建立備份的伺服器和資料庫同名的伺服器和資料庫。

請參閱

概念

複寫回溯相容性
在複寫拓撲中使用多個 SQL Server 版本

其他資源

管理複寫
複寫的增強功能
版本與版別的升級

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 7 月 17 日

變更的內容:
  • 新增在發行者升級時,訂閱資料庫可以持續在線上運作並保持使用中狀態的敘述。