設定合併式發行集的相容性層級

適用於:SQL Server

本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 中設定合併式發行集的相容性層級。 合併式複寫使用發行集相容性層級,來確定發行集可在給定資料庫中使用的功能。

本主題內容

使用 SQL Server Management Studio

在「新增發行集精靈」的 [訂閱者類型] 頁面中設定相容性層級。 如需存取此精靈的詳細資訊,請參閱< Create a Publication中設定合併式發行集的相容性層級。 建立發行集快照集後,可以提高相容性層級,但不能降低。 您可以在 [發行集屬性 - <發行集>] 對話方塊的 [一般] 頁面上,增加相容性層級。 如需有關存取這個對話方塊的詳細資訊,請參閱< View and Modify Publication Properties>。 如果提高發行集的相容性層級,則對於執行相容性層級之前版本的伺服器,其上的所有現有訂閱均無法再同步處理。

注意

因為相容性層級對其他發行集屬性有影響,並且發行項屬性對其有效,所以不要變更相容性層級以及對話方塊中相同用途的其他屬性。 發行集的快照集應在變更屬性後重新產生。

若要設定發行集相容性層級

  • 在「新增發行集精靈」的 [訂閱者類型] 頁面中,選取發行集應支援的「訂閱者」類型。

若要提高發行集相容性層級

  • 您可以在 [發行集屬性 - <發行集>] 對話方塊的 [一般] 頁面上,選取 [相容性層級]。

使用 TRANSACT-SQL

合併式發行集的相容性層級可以在建立發行集時以程式設計方式加以設定,或是在之後以程式設計方式加以修改。 您可以使用複寫預存程序來設定或變更此發行集屬性。

設定合併式發行集的發行集相容性層級

  1. 在發行者端,執行 sp_addmergepublication (Transact-SQL),指定 @publication_compatibility_level 的值,讓發行集與舊版的 Microsoft SQL Server 相容。 如需詳細資訊,請參閱建立發行集

變更合併式發行集的發行集相容性層級

  1. 執行 sp_changemergepublication (Transact-SQL),針對 @property 指定 publication_compatibility_level,並為 @value 指定適當的發行集相容性層級。

判斷合併式發行集的發行集相容性層級

  1. 執行 sp_helpmergepublication (Transact-SQL),指定所需的發行集。

  2. 在結果集的 backward_comp_level 欄中尋找發行集相容性層級。

範例 (Transact-SQL)

此範例會建立合併式發行集,並設定發行集相容性層級。

-- To avoid storing the login and password in the script file, the values   
-- are passed into SQLCMD as scripting variables. For information about   
-- how to use scripting variables on the command line and in SQL Server  
-- Management Studio, see the "Executing Replication Scripts" section in  
-- the topic "Programming Replication Using System Stored Procedures".  

--Add a new merge publication.  
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks2022';
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @login = $(Login);
SET @password = $(Password);

-- Create a new merge publication.   
USE [AdventureWorks2022];
EXEC sp_addmergepublication
    @publication = @publication,
    -- Set the compatibility level to SQL Server 2014.  
    @publication_compatibility_level = '120RTM';

-- Create the snapshot job for the publication.  
EXEC sp_addpublication_snapshot
    @publication = @publication,
    @job_login = @login,
    @job_password = @password;
GO

此範例會變更合併式發行集的發行集相容性層級。

注意

如果發行集使用任何需要特定相容性層級的功能,則可能不允許變更發行集相容性層級。 如需詳細資訊,請參閱複寫回溯相容性

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';

-- Change the publication compatibility level to   
-- SQL Server 2008 or later.
EXEC sp_changemergepublication
    @publication = @publication,
    @property = N'publication_compatibility_level',
    @value = N'100RTM';
GO  
  

此範例會傳回合併式發行集的正確發行集相容性層級。

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
EXEC sp_helpmergepublication
    @publication = @publication;
GO

另請參閱

建立發行集