次の方法で共有


マージ パブリケーションの互換性レベルの設定

このトピックでは、SQL Server Management Studioまたは Transact-SQL を使用して、SQL Server 2014 でマージ パブリケーションの互換性レベルを設定する方法について説明します。 マージ レプリケーションでは、パブリケーションの互換性レベルを使用して、指定されたデータベースのパブリケーションで使用できる機能を決定します。

このトピックの内容

SQL Server Management Studio を使用する

パブリケーションの新規作成ウィザードの [サブスクライバーの種類] ページで互換性レベルを設定します。 このウィザードへのアクセスの詳細については、「 Create a Publicationを使用して、マージ パブリケーションの互換性レベルを設定する方法について説明します。 パブリケーション スナップショットの作成後、互換性レベルを上げることはできますが、下げることはできません。 [パブリケーションのプロパティ - <パブリケーション] ダイアログ ボックスの [全般] ページで互換性レベルを>上げます。 このダイアログ ボックスへのアクセス方法の詳細については、「パブリケーション プロパティの表示および変更」を参照してください。 パブリケーションの互換性レベルを上げた場合、設定した互換性レベルよりも前のバージョンを実行しているサーバーでは、既存のサブスクリプションを同期できなくなります。

Note

互換性レベルはパブリケーションの他のプロパティ、および有効になるアーティクルのプロパティと密接に関連しているため、互換性レベルとその他のプロパティをこのダイアログ ボックスで同時に変更しないでください。 プロパティの変更後、パブリケーションのスナップショットを再生成する必要があります。

パブリケーションの互換性レベルを設定するには

  • パブリケーションの新規作成ウィザードの [サブスクライバーの種類] ページで、パブリケーションがサポートするサブスクライバーの種類を選択します。

パブリケーションの互換性レベルを上げるには

  • [パブリケーションのプロパティ - <パブリケーション>] ダイアログ ボックスの [全般] ページで、[互換性レベル] を選択します。

Transact-SQL の使用

マージ パブリケーションの互換性レベルは、パブリケーションを作成したときにプログラムで設定するか、または後でプログラムから変更できます。 レプリケーション ストアド プロシージャを使用して、このパブリケーション プロパティを設定または変更できます。

マージ パブリケーションのパブリケーション互換性レベルを設定するには

  1. パブリッシャーで、sp_addmergepublication (Transact-SQL) を実行し、@publication_compatibility_levelの値を指定して、パブリケーションを以前のバージョンの Microsoft SQL Serverと互換性のあるものにします。 詳しくは、「 パブリケーションを作成」をご覧ください。

マージ パブリケーションのパブリケーション互換性レベルを変更するには

  1. @propertyのpublication_compatibility_levelと、@valueの適切なパブリケーション互換性レベルを指定して、sp_changemergepublication(Transact-SQL)を実行します。

マージ パブリケーションのパブリケーション互換性レベルを確認するには

  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'AdventureWorks2012';   
SET @publication = N'AdvWorksSalesOrdersMerge'   
SET @login = $(Login);  
SET @password = $(Password);  
  
-- Create a new merge publication.   
USE [AdventureWorks2012]  
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  

次の例では、マージ パブリケーションのパブリケーション互換性レベルを変更します。

Note

パブリケーションで特定の互換性レベルを必要とする機能を使用していると、パブリケーションの互換性レベルの変更が許可されない場合があります。 詳しくは、「レプリケーションの旧バージョンとの互換性」をご覧ください。

DECLARE @publication AS sysname;  
SET @publication = N'AdvWorksSalesOrdersMerge' ;  
  
-- Change the publication compatibility level to   
-- SQL Server 2012.  
EXEC sp_changemergepublication   
@publication = @publication,   
@property = N'publication_compatibility_level',   
@value = N'110RTM';  
GO  
  

次の例では、マージ パブリケーションの現在のパブリケーション互換性レベルが返されます。

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

参照

パブリケーションを作成する