Impostare il livello di compatibilità per le pubblicazioni di tipo merge

Si applica a:SQL Server

Questo argomento descrive come impostare il livello di compatibilità per le pubblicazioni di tipo merge in SQL Server tramite SQL Server Management Studio o Transact-SQL. Il livello di compatibilità delle pubblicazioni viene utilizzato nella replica di tipo merge per determinare le funzionalità che possono essere utilizzate dalle pubblicazioni in un determinato database.

Contenuto dell'articolo

Utilizzo di SQL Server Management Studio

Impostare il livello di compatibilità nella pagina Tipi di Sottoscrittore della Creazione guidata nuova pubblicazione. Per ulteriori informazioni sull'accesso a questa procedura guidata, vedere Create a Publication. Dopo la creazione di uno snapshot della pubblicazione, il livello di compatibilità può essere incrementato, ma non ridotto. Incrementare il livello di compatibilità nella pagina Generale della finestra di dialogo Proprietà pubblicazione - <Pubblicazione>. Per ulteriori informazioni sull'accesso a questa finestra di dialogo, vedere View and Modify Publication Properties. Incrementando il livello di compatibilità della pubblicazione, qualsiasi sottoscrizione esistente in server che eseguono versioni che risultano precedenti a tale livello di compatibilità non saranno più in grado di eseguire la sincronizzazione.

Nota

Poiché il livello di compatibilità influisce su altre proprietà della pubblicazione e sugli articoli per cui tali proprietà sono valide, non modificare il livello di compatibilità e le altre proprietà in un'unica operazione all'interno della finestra di dialogo. Dopo la modifica della proprietà, lo snapshot per la pubblicazione dovrà essere rigenerato.

Per impostare il livello di compatibilità della pubblicazione

  • Nella pagina Tipi di Sottoscrittore della Creazione guidata nuova pubblicazione selezionare i tipi di Sottoscrittori che la pubblicazione dovrà supportare.

Per incrementare il livello di compatibilità della pubblicazione

  • Nella pagina Generale della finestra di dialogo Proprietà di pubblicazione - <Pubblicazione> selezionare il Livello di compatibilità desiderato.

Utilizzo di Transact-SQL

È possibile impostare il livello di compatibilità per una pubblicazione di tipo merge a livello di programmazione codice quando una pubblicazione viene creata o modificata a livello di programmazione in un secondo momento. Per impostare o modificare questa proprietà di pubblicazione, è possibile utilizzare le stored procedure di replica.

Per impostare il livello di compatibilità per una pubblicazione di tipo merge

  1. Nel server di pubblicazione eseguire sp_addmergepublication (Transact-SQL), specificando il valore @publication_compatibility_level per rendere la pubblicazione compatibile con versioni precedenti di Microsoft SQL Server. Per altre informazioni, vedere Create a Publication.

Per modificare il livello di compatibilità di una pubblicazione di tipo merge

  1. Eseguire sp_changemergepublication (Transact-SQL), specificando publication_compatibility_level per @property e il livello di compatibilità della pubblicazione appropriato per @value.

Per determinare il livello di compatibilità di una pubblicazione di tipo merge

  1. Eseguire sp_helpmergepublication (Transact-SQL), specificando la pubblicazione desiderata.

  2. Individuare il livello di compatibilità della pubblicazione nella colonna backward_comp_level del set di risultati.

Esempi (Transact-SQL)

In questo esempio viene creata una pubblicazione di tipo merge e viene impostato il livello di compatibilità della pubblicazione.

-- 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

In questo esempio viene modificato il livello di compatibilità per la pubblicazione di tipo merge.

Nota

È possibile che la modifica del livello di compatibilità della pubblicazione non sia consentita se nella pubblicazione vengono utilizzate caratteristiche che richiedono un livello di compatibilità specifico. Per altre informazioni, vedere Compatibilità con le versioni precedenti della replica.

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  
  

In questo esempio viene restituito il livello di compatibilità corrente per la pubblicazione di tipo merge.

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

Vedi anche

Creare una pubblicazione