マージ パブリケーションに互換性レベルを設定する方法 (レプリケーション Transact-SQL プログラミング)
マージ パブリケーションの互換性レベルは、パブリケーションを作成したときにプログラムで設定するか、または後でプログラムから変更できます。レプリケーション ストアド プロシージャを使用して、このパブリケーション プロパティを設定または変更できます。パブリケーションの互換性レベル、および関連する制限事項と要件の詳細については、「レプリケーション トポロジにおける複数バージョンの SQL Server の使用」の「マージ パブリケーションの互換性レベル」を参照してください。
マージ パブリケーションのパブリケーション互換性レベルを設定するには
- パブリケーションに古いバージョンの MicrosoftSQL Server との互換性を持たせるには、パブリッシャで sp_addmergepublication (Transact-SQL) を実行し、@publication_compatibility_level に値を指定します。詳細については、「パブリケーションを作成する方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。
マージ パブリケーションのパブリケーション互換性レベルを変更するには
- sp_changemergepublication (Transact-SQL) を実行し、@property に publication_compatibility_level を指定して、適切なパブリケーション互換性レベルを @value に指定します。
マージ パブリケーションのパブリケーション互換性レベルを確認するには
目的のパブリケーションを指定して、sp_helpmergepublication (Transact-SQL) を実行します。
結果セットの backward_comp_level 列で、パブリケーションの互換性レベルを調べます。
使用例
次の例では、マージ パブリケーションを作成して、パブリケーションの互換性レベルを設定します。
-- 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'AdventureWorks';
SET @publication = N'AdvWorksSalesOrdersMerge'
SET @login = $(Login);
SET @password = $(Password);
-- Create a new merge publication.
USE [AdventureWorks]
EXEC sp_addmergepublication
@publication = @publication,
-- Set the compatibility level to SQL Server 2000 SP3.
@publication_compatibility_level = '80RTM';
-- 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 2005.
EXEC sp_changemergepublication
@publication = @publication,
@property = N'publication_compatibility_level',
@value = N'90RTM'
GO
次の例では、マージ パブリケーションの現在のパブリケーション互換性レベルが返されます。
DECLARE @publication AS sysname
SET @publication = N'AdvWorksSalesOrdersMerge'
EXEC sp_helpmergepublication
@publication = @publication;
GO