如何使用複寫與 SQL Server 2000 桌面引擎 (MSDE 2000)

文章翻譯 文章翻譯
文章編號: 324992 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

Microsoft SQL Server 2000 桌面引擎 (MSDE 2000) 是 SQL Server 2000 關聯式資料庫引擎的可轉散發版本。利用 MSDE 2000 應用程式開發人員會有方法,用來散發其應用程式和用來儲存資料的資料庫。此外,MSDE 2000 支援複寫。這是應用程式開發人員可以使用,特別是如果使用者已中斷連線,而想要合併他們的資料與中央伺服器的本機複本的非常實用功能。不過,MSDE 2000 複寫包括特定的限制和警告。本文說明 MSDE 2000 複寫這些警告,而且也提供有關如何管理與 MSDE 2000 的複寫資訊。

您與一般版本的 SQL Server 使用複寫,所有 SQL Server 和複寫功能都都可以使用。MSDE 2000 可以複寫所有版本的 SQL Server 之間 ; 不過,使用 MSDE 2000 的複寫拓樸一部分時, 有某些限制。這些限制的一些發生因為的 MSDE 2000 的固有限制,而某些其他人是相對於 MSDE 2000 與複寫的設計限制。

複寫特定限制和警告

  • MSDE 2000 可以同時扮演 「 發行者 」 或 「 散發者 」,與 「 訂閱者 」,可以將 MSDE 版本和一般版本的 SQL Server 之間複寫。此外,您不能使用它為交易式發行集,但是您可以使用它為快照集複寫和合併複寫的 「 發行者 」 並為所有三種類型的發行物的訂閱者。
  • 您不能使用遠端散發者與 MSDE 2000。MSDE 2000 「 發行者 」 必須使用相同的伺服器與 「 散發者 」。
  • 在您嘗試使用預設的快照集資料夾設定了發行集時,便會產生錯誤 MSDE 2000 安裝期間不會建立 Repldata 資料夾。若要將預設的快照集位置建立 [MSSQL 下的 Repldata 資料夾或 MSSQL $ InstanceName 資料夾],然後再建立發行集]。

MSDE 2000 特定限制和警告

  • MSDE 2000 限制 2 GB 到資料庫的大小。如果 MSDE 2000 是複寫拓樸的一部份,複寫資料庫的大小是限制為 2 GB。如果 MSDE 2000 「 訂閱者 」 複寫代理程式失敗後資料庫超過 2 GB。在該點考慮升級到一般的 SQL Server 版本的 「 訂閱者 」。如需有關如何從 MSDE 2000 升級到一般的 SQL Server 版本的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
    325023到 SQL Server 轉換 SQL Server 2000 桌面引擎
  • 連線到 MSDE 2000 的數目最適合五個連線。如果 MSDE 2000 是 「 發行者 」,且有足夠訂閱者發行集,或者它是多個發行集的 「 訂閱者 」,這可能會影響複寫的效能。

使用 MSDE 2000 作為發行者或散發者

時 MSDE 2000 的複寫拓樸一部份可以做為 「 發行者 」 或 「 散發者 」,或 「 訂閱者 」。當您為 「 發行者 」 或 「 散發者 」 使用 MSDE 2000 時, 考慮下列限制:
  • 「 散發者 」 及 「 發行者 」 會永遠是在同一部電腦。如果出版物是合併式發行集多個執行緒會繁衍 「 發行者 」 或 「 散發者 」 端執行合併處理。而且如果有多個 「 訂閱者 」 到 「 發行者 」 繁衍執行緒數目的出版物會增加許多摺疊方式]。因為的 MSDE 2000 的固有限制,這可能導致效能問題。
  • 在使用中的複寫環境中有大量的 「 訂閱者 」,Microsoft 建議您使用一般的 SQL Server 為 「 發行者 」 或 「 散發者 」 而非 MSDE 2000 的版本。

使用 MSDE 2000 作為訂閱者

MSDE 2000 主要用在中斷連接的案例。有鑑於此,MSDE 2000 通常會做 「 訂閱者 」 複寫拓樸中的合併式發行集。當您將 MSDE 2000 作為 「 訂閱者 」 時,可能會發生的典型問題是:
  • 訂閱資料庫超過 2 GB 的限制。
  • 使用多個 「 訂閱者 」 可能會導致多載化的 MSDE 2000 和 MSDE 2000 的節流。

授權問題

MSDE 2000 不需要任何授權,當使用在獨立模式中,但當您使用牽涉到一般的 SQL Server 版本的複寫拓樸的一部份時,如果伺服器是在每一基座必須要有相較於每一處理器模式下每個 MSDE 2000 「 訂閱者 」 的模式中用戶端存取授權 (CAL)。

如需有關 SQL Server 授權的詳細資訊,請造訪下列 Microsoft 網站]:
http://www.microsoft.com/sql/howtobuy/SQL2KLic.doc

管理與 MSDE 2000 的複寫

在一般的 SQL Server 版本中您使用 SQL Server 企業管理員,藉此管理複寫。使用複寫使用者介面中 SQL Server 企業管理員通常執行建立發行集與訂閱的工作。因為 MSDE 2000 並不包含 SQL Server 企業管理員,您必須管理,並使用自訂程式來管理複寫。如果 SQL Server 企業管理員是在任何電腦上使用,您可以註冊 MSDE 2000 SQL Server 企業管理員] 中,您可以使用 SQL Server 企業管理員來管理複寫。

如先前所述,是將 MSDE 2000 可以扮演 「 發行者 」 或 「 訂閱者 」,並在大部分情況下被使用為 「 訂閱者 」。下列章節說明如何建立和管理 MSDE 2000 的訂閱。

如何建立 MSDE 2000 的訂閱

有幾個方法來建立至 MSDE 2000 訂閱者 」 的訂閱。下列的方法根據 MSDE 2000 未註冊任何 SQL Server 企業管理員 」 中的假設:
  • Windows 同步處理管理員 」
  • 複寫 ActiveX 控制項
  • 藉由使用 SQL-DMO 複寫物件管理複寫
  • 使用 OSQL 命令列公用程式來新增複寫工作

Windows 同步處理管理員 」

Windows 同步處理管理員 」 是使用 Microsoft Windows 2000 和任何正在執行 Microsoft Internet Explorer 5.0 的電腦上的公用程式。您可以使用它來同步處理或散發的 Microsoft SQL Server 2000 使用快照複寫、 交易式複寫或合併式複寫時的執行個體之間的資料。若需更多的資訊關於 「 Windows 同步處理管理員 」,請參閱 SQL Server 2000 線上叢書 》 中的 [Windows 同步處理管理員] 主題。

注意: 當您使用 Windows 同步處理管理員 」 時,您可以只建立匿名的提取訂閱。

若要建立訂閱:
  1. 開啟 「 Windows 同步處理管理員 」: 按一下 [開始]、 按一下 [程式集]、 按一下 [附屬應用程式,然後按一下 [同步處理]。
  2. 在 [建立新的訂閱] 視窗中有下列三個選項: (若要以手動方式新增訂閱,使用 [第三個選項])。
    • 瀏覽使用中的目錄。
    • 附加 SQL Server 的訂閱資料庫。
    • 手動指定發行集與訂閱資訊。
  3. 建立匿名訂閱] 視窗中鍵入 [訂閱] 和 [發行集資訊]。
  4. 按一下 [確定],並訂閱出現在 Microsoft SQL Server 2000 下的下次您開啟 Windows 同步處理管理員 」。
  5. 同步處理訂閱,按一下您想要同步處理的訂閱,然後按一下 [同步處理
注意: 如果您有列在 Active Directory 中發行集,或者您也可以建立發行集可附加的訂閱,使用前兩個選項之一。如需有關 Active Directory 發行集與可附加的訂閱的詳細資訊,請參閱 SQL Server 2000 線上叢書 》 Active Directory 服務 > 和附加訂閱主題]。

建立訂閱後,您可以管理它從 「 Windows 同步處理管理員 」 按一下 [內容] 來。如此一來,可以重新初始化訂閱,卸除 「 訂閱,並執行其他的變更。

如需有關 「 Windows 同步處理管理員 」 的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
292442如何使用 [Windows 管理員與同步提取訂閱者

複寫 ActiveX 控制項

在大多數情況下 MSDE 2000 當作伺服器的應用程式,在使用者電腦上部署。在複寫所需的位置這類情況下您可以在應用程式中使用複寫 ActiveX 控制項來管理複寫到該 MSDE 2000 「 訂閱者 」。

您散發應用程式可以使用複寫 ActiveX 物件來建立訂閱一個合併交易式或快照式發行集。此外,您可以使用方法和這些物件的屬性以管理這些訂閱。比方說如果您要部署一個 Microsoft Visual 應用基本程式,您必須將資料複寫到主要執行 SQL Server 的伺服器],您可以包含一段程式碼,建立此訂閱,並再執行同步處理應用程式中。

若要欲將示範如何使用複寫 ActiveX 控制項,建立並管理訂閱合併交易式和快照集複寫的範例應用程式請參閱 SQL Server 2000 活頁簿中的"開發複寫應用程式使用 ActiveX 控制項 」 主題線上]。

藉由使用 SQL-DMO 複寫物件管理複寫

SQL 分配管理物件 (SQL-DMO) 是封裝 Microsoft SQL Server 資料庫和複寫管理的物件集合。您可以使用 Microsoft Visual C++ 或 Microsoft Visual Basic 來建立應用程式,然後使用 SQL-DMO 物件,來設定並管理複寫。

藉由使用 SQL-DMO 開發應用程式和 SQL-DMO 有關的詳細資訊,請參閱 SQL Server 2000 線上叢書 》 中的 < 開發 SQL-DMO 應用程式 > 主題。

使用 [OSQL 命令列公用程式來新增複寫工作

OSQL 是 MSDE 2000 安裝包含的命令列公用程式。連線到 SQL Server,並執行查詢和指令碼,您可以使用此工具。 取得更多資訊有關 OSQL 按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
325003如何使用 Osql 公用程式來管理 SQL Server 桌面引擎 (MSDE 2000)
此外,您可以使用 Transact-SQL 陳述式來直接建立到 SQL Server 發行集的提取訂閱。當您正在建立訂閱,藉由使用預存程序時,工作會建立 「 訂閱者 」 上。因為 MSDE 2000 並不包含用戶端工具,您必須使用預存程序,停止並啟動作業。

注意: 此範例根據假設訂閱是匿名,而則是為合併式發行集。
  1. 從 「 MSDE 2000 訂閱者 」 使用 OSQL 連線至訂閱資料庫。
  2. 使用 sp_addmergepullsubscription 預存程序來新增匿名訂閱。
  3. 使用 sp_addmergepullsubscription_agent 預存程序來新增合併代理程式作業。
  4. 藉由使用 sp_start_job 預存程序啟動作業。
sp_addmergepullsubscription @publication =  'pubs',@publisher =  'fastnfurious'  ,@publisher_db =  'pubs'  
,@subscriber_type =  'anonymous' 
 
sp_addmergepullsubscription_agent @name =  'MSDE Sub'  ,@publisher =  'fastnfurious' ,@publisher_db = 'pubs'
,@publication = 'pubs' ,@publisher_security_mode =  0,@publisher_login =  login,@publisher_password =  'strongpassword' 
,@subscriber =  'gash2ksrv'  ,@subscriber_db = 'sub'  ,@subscriber_security_mode =  0  ,@subscriber_login =  'login'  
,@subscriber_password =  'strongpassword'  ,@distributor =  'fastnfurious' 
,@distributor_security_mode =  0,@distributor_login =  'login'

sp_start_job @job_name ='MSDE Sub'
				

注意: 這個程式碼並不包括任何參數來控制作業排程。此外,是沒有程序安裝程式無法判斷工作的狀態。如果您想有寫入事件記錄檔中的工作狀態,使用該 sp_update_job 預存程序來修改作業,然後再設定 @ notify_level_eventlog 參數。

如需有關這些預存程序中,請參閱下列主題 SQL Server 2000 線上叢書 》 中的]:
  • "sp_addmergepullsubscription
  • "sp_addmergepullsubscription_agent
  • "sp_start_job
  • "sp_update_job
本文稍早說明的方法描述各種方式來管理的 MSDE 2000 的訂閱。除了從這些方法如果 MSDE 2000 「 訂閱者 」 登錄在 [SQL 企業管理員,您可以管理 MSDE 2000 訂閱者 (發行者) 像 SQL Server 的任何其他執行個體。

管理 「 散發者 」 和 「 發行者 」

MSDE 2000 可做為 「 發行者 」 和 「 散發者 」。

若要在 MSDE 2000 中建立一個 「 散發者 」 與 「 發行者 」 步驟如下類似一般版本的 SQL Server 中的步驟:
  1. 如果伺服器登錄在 [SQL 企業管理員] 中,您可以使用複寫精靈來設定 「 散發者 」 和 「 發行者 」。 如需詳細資訊請參閱 SQL Server 2000 線上叢書 》 中的 < 複寫精靈 」 主題]。
  2. 如果無法使用用戶端工具,您可以使用 OSQL 命令列公用程式和預存程序或 SQL-DMO,來設定 「 散發者 」 與 「 發行者 」。

?考

要下載更新的版本的 SQL Server 2000 線上叢書 》,請造訪下列 Microsoft 網站:
http://technet.microsoft.com/en-us/sqlserver/bb331756.aspx
如需有關如何使用 Microsoft Visual Basic.NET 中使用複寫 ActiveX 控制項的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件]:
319648如何使用 Visual Basic.NET 程式 SQL 快照式與 SQL 分配控制項
319647如何使用 Visual Basic.NET 程式 SQL 合併控制項
取得更多資訊有關 MSDE 2000 按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件]:
319930如何連線到 Microsoft 桌面引擎
241397如何備份與 Transact-SQL 的 Microsoft 資料引擎資料庫

屬性

文章編號: 324992 - 上次校閱: 2007年11月14日 - 版次: 2.5
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 64-bit Edition
關鍵字:?
kbmt kbhowtomaster KB324992 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:324992
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com