共用方式為


SQL Server 複寫中已被取代的功能

本主題描述 SQL Server 2012 中仍然可用之已被取代的複寫功能。 這些功能將在未來的 SQL Server 版本中移除。 已被取代的功能不應在新應用程式中使用。

SQL Server 2012 中已被取代的新項目

功能

說明

RMO

RMO API 已被取代。 改用 Transact-SQL 建立新的應用程式

異質性複寫

非 SQL Server 訂閱者的異質性複寫已被取代。 若要移動資料,請使用異動資料擷取和 SSIS 建立方案。

Oracle 發行

Oracle 發行已被取代。 若要移動資料,請使用異動資料擷取和 SSIS 建立方案。

舊版中已被取代的項目

影響所有複寫類型已被取代的功能

套用至所有複寫類型的下列功能在 SQL Server 2005 或 SQL Server 2008 中已被取代。

功能

說明

可附加訂閱

在部署大量提取訂閱時 (這在合併式複寫中很常見),可使用這項功能。 我們建議您使用下列方式來代替可附加訂閱:

  • 對於使用參數化篩選來進行資料分割的合併式發行集,我們建議您使用資料分割快照集,以簡化大量訂閱的初始化。

  • 對於未進行資料分割的發行集,您可以用備份來初始化訂閱。

在這兩種情況下,您可以撰寫指令碼,使大量訂閱的建立作業自動化:建立單一訂閱、撰寫指令碼、修改每一個訂閱者的指令碼,以及在每一個訂閱者端套用指令碼來建立訂閱。 如需詳細資訊,請參閱<編寫複寫指令碼>。

訂閱者註冊

預存程序 sp_addsubscriber 已被取代。 已不再需要在發行者端明確註冊訂閱者。

SQL Distributed Management Objects (SQL-DMO)

現有的程式碼仍可繼續運作,但 SQL-DMO 不支援 SQL Server 2005 和 SQL Server 2008 的新功能。 請改用 Replication Management Objects (RMO)。 如需詳細資訊,請參閱<Replication Management Objects 概念。>。

使用 sp_repladdcolumn 和 sp_repldropcolumn 變更結構描述

預存程序 sp_repladdcolumnsp_repldropcolumn 已被取代。 請改用結構描述變更複寫。

預存程序不能用來新增或卸除 SQL Server 2005 和更新版本中引進之資料類型的資料行:xml、varchar(max)、nvarchar(max)、varbinary(max) 或使用者定義型別 (UDT)、datetime2、time、datetimeoffset、hierarchyid、geometry 和 geography 類型。

總和檢查碼驗證

不應該使用總和檢查碼驗證。 請使用二進位總和檢查碼驗證。 您也可以對所有 SQL Server 訂閱者使用資料列計數驗證,包括那些從 Oracle 發行者訂閱發行集的訂閱者。

將發行集加入至 Active Directory

使用 sp_addpublicationsp_addmergepublication 的 @add_to_active_directory 參數將發行集加入 Active Directory 中,這項功能已被取代。 在 Active Directory 中尋找發行集來訂閱的功能已停止。

-UseInprocLoader 參數

散發代理程式和合併代理程式的這個參數已被取代,因為它與 XML 資料類型不相容。 如果您不複寫 XML 資料,則可使用這個參數。 如需詳細資訊,請參閱<複寫散發代理程式>和<複寫合併代理程式>。

散發和記錄讀取器代理程式中的 PublisherAddress、PublisherNetwork、DistributorNetwork 和 DistributorAddress 參數

這些參數可用來指定連接到發行者或散發者時所使用的 IP 位址。 由於複寫子系統會使用伺服器名稱來驗證連接,因此我們建議您在用戶端通訊協定中使用別名,將 IP 位址對應到伺服器名稱,並且在代理程式中使用伺服器名稱。

¹ 在 SQL Server 2008 中已被取代。

異動複寫已被取代的功能

下列異動複寫功能在 SQL Server 2005 或 SQL Server 2008 中已被取代。

功能

說明

交易式發行集的訂閱過期

sp_addpublication 的 @retention 屬性已被取代。 訂閱仍標示為非使用中,如果訂閱未在最大散發保留期限內同步處理,則必須重新初始化 (sp_adddistributiondb 的 @max_distretention 屬性)。

交易式發行集的 "No sync" 訂閱

如果對 sp_addsubscriptionsp_addpullsubscription 的 @sync_type 參數指定 none 的值,則此訂閱為 "no sync" 訂閱。 如果您想要特別指出必要的結構描述和資料已出現在訂閱資料庫中,請改對該參數指定 replication support only 的值。

ODBC 訂閱者

對於非 SQL Server 訂閱者改用 OLE-DB。

可轉換的訂閱

可透過預存程序介面取得這項功能,但在使用者介面中已卸除對這項功能的支援。 使用這項功能需要安裝 SQL Server 2000 Data Transformation Services (DTS)。 如需詳細資訊,請參閱<Integration Services 回溯相容性>。

散發 ActiveX 控制項

這個控制項可讓您在應用程式中內嵌散發代理程式。 請改用 RMO。 如需詳細資訊,請參閱<同步處理提取訂閱>和<同步處理發送訂閱>。

複寫散發者介面

在 SQL Server 2000,複寫散發者介面提供一個介面,將複寫交易儲存在散發者的散發資料庫中。 您可利用這個介面,從非 SQL Server 資料庫發行 (需要其他自訂程式設計來追蹤發行者的變更)。 這項功能的支援已被取代,但從 SQL Server 2000 升級的伺服器上仍可繼續使用現有的程式碼。 如需詳細資訊,請參閱《SQL Server 2000 線上叢書》中的 "Replication Distributor Interface Reference"。

在 Oracle 8 訂閱者與 Oracle 8 發行者之間複寫¹

¹ 在 SQL Server 2008 中已被取代。

合併式複寫已被取代的功能

下列合併式複寫功能在 SQL Server 2005 或 SQL Server 2008 中已被取代。

功能

說明

替代同步夥伴

替代同步夥伴功能可讓您指定一個可與訂閱者同步處理的替代發行者。

在 SQL Server 2005 和 SQL Server 2008,我們建議您將合併式複寫與資料庫鏡像一起使用,而不要與替代的同步夥伴一起使用。 如需詳細資訊,請參閱<資料庫鏡像和複寫 (SQL Server)>。

合併式發行集的 "No sync" 訂閱1

如果對 sp_addmergesubscriptionsp_addmergepullsubscription 的 @sync_type 參數指定 none 的值,則此訂閱為 "no sync" 訂閱。 我們不建議您針對合併式複寫使用這種訂閱類型。

合併 ActiveX 控制項

這個控制項可讓您在應用程式中內合併代理程式。 請改用 RMO。

多重資料行 UPDATE 選項

當合併式複寫執行更新時,它會更新一個 UPDATE 陳述式中所有已變更的資料行,並將未變更的資料行重設為其原始值。 另外,它還可以發出多個 UPDATE 陳述式,每一個已變更的資料行有一個 UPDATE 陳述式。 多重資料行 UPDATE 陳述式通常更有效率。

在 SQL Server 2005 之前的 SQL Server 版本中,建議您對 @fast_multicol_updateproc 發行項選項指定 false 值,以便處理多重資料行更新 (一個 UPDATE 陳述式) 可能效率較差的情況:

  • 大部分更新只涉及少數資料行。

  • 未變更的資料行之索引維護很重要,因為發生更新時會重設那些資料行。

由於 SQL Server 的效能改進,這些案例已不再需要這個選項。

-ParallelUploadDownload 參數¹

合併代理程式的這個參數可用來在合併式複寫工作階段中執行變更的同時上傳和下載作業。 雖然這個參數可以改善效能,但是必須透過網路傳送的中繼資料量會超過改善的幅度。

sp_addmergepublication¹ 中的 @allow_partition_realignment 屬性

這個參數可用來控制當某個資料列移出訂閱者的資料分割時,必須傳送給訂閱者的刪除作業。

-ExchangeType 參數¹

這個參數可用來控制合併代理程式會通過上傳階段、下載階段或這兩個階段。 這個參數預設為 3,可同時執行上傳和下載。 我們不建議使用僅限上傳,因為這樣做將不會複寫結構描述變更或初始化處理序。 您可以針對某個發行項使用 @subscriber_upload_options,達成僅限下載的功能。 如需詳細資訊,請參閱<sp_addmergearticle (Transact-SQL)>。

sp_addmergearticle¹ 中的 @delete_tracking 屬性

這個屬性可用來在刪除項目應該向下傳送給發行者或訂閱者時,停止追蹤刪除項目。 您可以使用 BusinessLogicModule 中的 DeleteHandler 來實作這個屬性。

邏輯記錄¹

這項功能可用來在單一交易中傳送一組相關的資料列。 在大部分情況下,當您使用這項功能時,將會對複寫造成顯著的效能負擔。

¹ 在 SQL Server 2008 中已被取代。

請參閱

概念

複寫回溯相容性