sp_changemergepublication (Transact-SQL)

Data aggiornamento: 12 dicembre 2006

Modifica le proprietà di una pubblicazione di tipo merge. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_changemergepublication [ @publication= ] 'publication'
    [ , [ @property= ] 'property' ]
    [ , [ @value= ] 'value' ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]

Argomenti

  • [ @publication=] 'publication'
    Nome della pubblicazione. publication è di tipo sysname e non prevede alcun valore predefinito.
  • [ @property=] 'property'
    Proprietà da modificare per la pubblicazione specificata. property è di tipo sysname. I possibili valori sono descritti nella tabella riportata di seguito.
  • [ @value=] 'value'
    Nuovo valore per la proprietà specificata. value è di tipo nvarchar(255). I possibili valori sono descritti nella tabella riportata di seguito.

    Nella tabella seguente vengono descritte le proprietà della pubblicazione che è possibile modificare e le limitazioni previste per i valori delle proprietà.

    Proprietà

  • [ @force_invalidate_snapshot = ] force_invalidate_snapshot
    Segnala che l'azione eseguita da questa stored procedure potrebbe invalidare uno snapshot esistente. force_invalidate_snapshot è di tipo bit e il valore predefinito è 0.

    0 specifica che la modifica della pubblicazione non invalida lo snapshot. Se la stored procedure rileva che la modifica richiede un nuovo snapshot, viene generato un errore e non viene apportata alcuna modifica.

    1 specifica che le modifiche apportate alla pubblicazione potrebbero invalidare lo snapshot e, se sono disponibili sottoscrizioni che richiedono un nuovo snapshot, consente di contrassegnare lo snapshot esistente come obsoleto e di generarne uno nuovo.

    Per ulteriori informazioni sulle proprietà che richiedono la generazione di un nuovo snapshot in caso di modifica, vedere la sezione Osservazioni.

  • [ @force_reinit_subscription = ] force_reinit_subscription
    Riconosce che l'azione eseguita dalla stored procedure potrebbe richiedere la reinizializzazione delle sottoscrizioni esistenti. force_reinit_subscription è di tipo bit e il valore predefinito è 0.

    0 specifica che la modifica della pubblicazione non richiede la reinizializzazione delle sottoscrizioni. Se la stored procedure rileva che la modifica richiede la reinizializzazione delle sottoscrizioni esistenti, viene generato un errore e non viene apportata alcuna modifica.

    1 specifica che la modifica della pubblicazione comporta la reinizializzazione delle sottoscrizioni esistenti e consente la reinizializzazione.

    Per ulteriori informazioni sulle proprietà che richiedono la reinizializzazione di tutte le sottoscrizioni esistenti in caso di modifica, vedere la sezione Osservazioni.

Osservazioni

La stored procedure sp_changemergepublication viene utilizzata per la replica di tipo merge.

La modifica delle proprietà seguenti richiede la generazione di un nuovo snapshot. È pertanto necessario specificare il valore 1 per il parametro force_invalidate_snapshot.

  • alt_snapshot_folder
  • compress_snapshot
  • dynamic_filters
  • ftp_address
  • ftp_login
  • ftp_password
  • ftp_port
  • ftp_subdirectory
  • post_snapshot_script
  • publication_compatibility_level (solo fino a 80SP3)
  • pre_snapshot_script
  • snapshot_in_defaultfolder
  • sync_mode
  • use_partition_groups

La modifica delle proprietà seguenti richiede la reinizializzazione delle sottoscrizioni esistenti. È pertanto necessario specificare il valore 1 per il parametro force_reinit_subscription.

  • dynamic_filters
  • validate_subscriber_info

Per visualizzare un elenco degli oggetti di pubblicazione in Active Directory tramite il parametro publish_to_active_directory, è necessario che l'oggetto SQL Server sia già stato creato in Active Directory.

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin o del ruolo predefinito del database db_owner possono eseguire sp_changemergepublication.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Esempio

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

-- Disable DDL replication for the publication.
USE [AdventureWorks]
EXEC sp_changemergepublication 
  @publication = @publication, 
  @property = N'replicate_ddl', 
  @value = 0,
  @force_invalidate_snapshot = 0, 
  @force_reinit_subscription = 0;
GO

Vedere anche

Riferimento

sp_addmergepublication (Transact-SQL)
sp_dropmergepublication (Transact-SQL)
sp_helpmergepublication (Transact-SQL)
Stored procedure per la replica (Transact-SQL)

Altre risorse

How to: View and Modify Publication Properties (Replication Transact-SQL Programming)
Modifica delle proprietà di pubblicazioni e articoli

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

12 dicembre 2006

Nuovo contenuto:
  • Aggiunta di informazioni sul valore di generation_leveling_threshold.