sp_helpmergepublication (Transact-SQL)

Si applica a:SQL Server

Vengono restituite informazioni su una pubblicazione di tipo merge. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.

Convenzioni di sintassi Transact-SQL

Sintassi

sp_helpmergepublication
    [ [ @publication = ] N'publication' ]
    [ , [ @found = ] found OUTPUT ]
    [ , [ @publication_id = ] 'publication_id' OUTPUT ]
    [ , [ @reserved = ] N'reserved' ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @publisher_db = ] N'publisher_db' ]
[ ; ]

Argomenti

[ @publication = ] N'publication'

Nome della pubblicazione. @publication è sysname, con un valore predefinito %, che restituisce informazioni su tutte le pubblicazioni di tipo merge nel database corrente.

[ @found = ] found OUTPUT

Flag che indica le righe che restituiscono valori. @found è un parametro OUTPUT di tipo int.

  • 1 indica che la pubblicazione è stata trovata.
  • 0 indica che la pubblicazione non è stata trovata.

[ @publication_id = ] OUTPUT 'publication_id'

Numero di identificazione della pubblicazione. @publication_id è un parametro OUTPUT di tipo uniqueidentifier.

[ @reserved = ] N'reserved'

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

[ @publisher = ] N'publisher'

Nome del server di pubblicazione. @publisher è sysname, con un valore predefinito .NULL

[ @publisher_db = ] N'publisher_db'

Nome del database di pubblicazione. @publisher_db è sysname, con il valore predefinito NULL.

Set di risultati

Nome colonna Tipo di dati Descrizione
id int Ordine sequenziale della pubblicazione nell'elenco del set di risultati.
name sysname Nome della pubblicazione.
description nvarchar(255) Descrizione della pubblicazione.
status tinyint Viene indicato quando i dati della pubblicazione sono disponibili.
retention int Tempo per salvare i metadati delle modifiche per gli articoli nella pubblicazione. Le unità per questo periodo di tempo possono essere giorni, settimane, mesi o anni. Per informazioni sulle unità, vedere la colonna retention_period_unit.
sync_mode tinyint Modalità di sincronizzazione della pubblicazione:

0 = Programma di copia bulk nativa (utilità bcp )

1 = Copia bulk di caratteri
allow_push int Determina se è possibile creare sottoscrizioni push per la pubblicazione specificata. 0 significa che una sottoscrizione push non è consentita.
allow_pull int Determina se è possibile creare sottoscrizioni pull per la pubblicazione specificata. 0 significa che una sottoscrizione pull non è consentita.
allow_anonymous int Determina se è possibile creare sottoscrizioni anonime per la pubblicazione specificata. 0 significa che una sottoscrizione anonima non è consentita.
centralized_conflicts int Viene determinato se i record dei conflitti vengono archiviati nel server di pubblicazione specificato:

0 = i record in conflitto vengono archiviati sia nel server di pubblicazione che nel sottoscrittore che ha causato il conflitto.

1 = tutti i record in conflitto vengono archiviati nel server di pubblicazione.
priority float(8) Priorità della sottoscrizione di loopback.
snapshot_ready tinyint Viene indicato se lo snapshot della pubblicazione specificata è pronto:

0 = Lo snapshot è pronto per l'uso.

1 = Lo snapshot non è pronto per l'uso.
publication_type int Tipo di pubblicazione:

0 = Snapshot.

1 = Transazionale.

2 = Merge.
pubid uniqueidentifier Identificatore univoco della pubblicazione.
snapshot_jobid binary(16) ID di processo dell'agente snapshot. Per ottenere la voce per il processo snapshot nella tabella di sistema sysjobs , è necessario convertire questo valore esadecimale in uniqueidentifier.
enabled_for_internet int Viene determinato se la pubblicazione è abilitata per Internet. Se 1, i file di sincronizzazione per la pubblicazione vengono inseriti nella C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\Ftp directory . La directory FTP (File Transfer Protocol) deve essere creata dall'utente. Se 0, la pubblicazione non è abilitata per l'accesso a Internet.
dynamic_filter int Indica se viene utilizzato un filtro di riga con parametri. 0 indica che non viene usato un filtro di riga con parametri.
has_subscription bit Indica se esistono sottoscrizioni della pubblicazione. 0 indica che attualmente non sono presenti sottoscrizioni per la pubblicazione.
snapshot_in_default_folder bit Viene specificato se i file di snapshot sono archiviati nella cartella predefinita.

Se 1, i file di snapshot sono disponibili nella cartella predefinita.

Se 0, i file snapshot vengono archiviati nel percorso alternativo specificato da alt_snapshot_folder. Una posizione alternativa può essere un altro server, un'unità di rete oppure un supporto rimovibile, ad esempio un CD o un disco rimovibile. È inoltre possibile archiviare i file di snapshot in un sito FTP in modo che possano essere successivamente recuperati dal Sottoscrittore.

Nota: questo parametro può essere true e avere ancora una posizione nel alt_snapshot_folder parametro . Tale combinazione consente di specificare che i file di snapshot vengono archiviati sia nel percorso predefinito che in quello alternativo.
alt_snapshot_folder nvarchar(255) Specifica la posizione della cartella alternativa per lo snapshot.
pre_snapshot_script nvarchar(255) Specifica un puntatore a un file con estensione sql eseguito dall'agente di merge prima di uno degli script oggetto replicati durante l'applicazione dello snapshot in un Sottoscrittore.
post_snapshot_script nvarchar(255) Specifica un puntatore a un file con estensione sql eseguito dall'agente di merge dopo l'applicazione di tutti gli altri script e dati oggetto replicati durante una sincronizzazione iniziale.
compress_snapshot bit Specifica che lo snapshot scritto nel alt_snapshot_folder percorso viene compresso nel formato CAB Microsoft.
ftp_address sysname Indirizzo di rete del servizio FTP per il server di distribuzione. Viene specificata la posizione in cui i file di snapshot della pubblicazione possono essere prelevati dall'agente di merge.
ftp_port int Numero di porta del servizio FTP per il server di distribuzione. ftp_portha un valore predefinito .21 Viene specificata la posizione in cui i file di snapshot della pubblicazione possono essere prelevati dall'agente di merge.
ftp_subdirectory nvarchar(255) Viene specificata la posizione in cui i file di snapshot possono essere prelevati dall'agente di merge quando lo snapshot viene recapitato tramite FTP.
ftp_login sysname Nome utente utilizzato per la connessione al servizio FTP.
conflict_retention int Viene specificato il periodo di memorizzazione dei conflitti espresso in giorni. Al trascorrere del numero di giorni specificati, la riga in conflitto viene eliminata dalla tabella dei conflitti.
keep_partition_changes int Specifica se viene eseguita l'ottimizzazione della sincronizzazione per la pubblicazione specificata. keep_partition_changesha un valore predefinito .0 Un valore indica 0 che la sincronizzazione non è ottimizzata e le partizioni inviate a tutti i Sottoscrittori vengono verificate quando i dati cambiano in una partizione.

1 significa che la sincronizzazione è ottimizzata e solo i Sottoscrittori con righe nella partizione modificata sono interessati.

Nota: per impostazione predefinita, le pubblicazioni di tipo merge usano partizioni pre-calcolate, che offrono un grado di ottimizzazione maggiore rispetto a questa opzione. Per altre informazioni, vedere Filtri con parametri - Filtri di riga con parametri e filtri con parametri - Ottimizzare per le partizioni pre-calcolate.
allow_subscription_copy int Specifica se la funzionalità che consente di copiare i database di sottoscrizione che sottoscrivono la pubblicazione è abilitata. Il valore 0 indica che la copia non è consentita.
allow_synctoalternate int Viene specificato se è consentito l'utilizzo di un partner di sincronizzazione alternativo per la sincronizzazione con il server di pubblicazione. Un valore indica che un partner di 0 sincronizzazione non è consentito.
validate_subscriber_info nvarchar(500) Viene visualizzato un elenco delle funzioni utilizzate per il recupero delle informazioni sul Sottoscrittore e la convalida dei criteri per i filtri di riga con parametri nel Sottoscrittore. Consente di verificare che le informazioni siano partizionate in modo coerente con ogni unione.
backward_comp_level int Livello di compatibilità del database e può essere uno dei valori seguenti:

90 = SQL Server 2005 (9.x)

90 = SQL Server 2005 (9.x) SP1

90 = SQL Server 2005 (9.x) SP2

100 = SQL Server 2008 (10.0.x)
publish_to_activedirectory bit Specifica se le informazioni sulla pubblicazione sono pubblicate in Active Directory. Un valore indica 0 che le informazioni sulla pubblicazione non sono disponibili in Active Directory.

Questo parametro è deprecato e viene mantenuto per la compatibilità con le versioni precedenti degli script. Non è più possibile aggiungere informazioni sulla pubblicazione in Active Directory.
max_concurrent_merge int Numero massimo di processi di merge simultanei. Se 0, non esiste alcun limite al numero di processi di merge simultanei in esecuzione in un determinato momento.
max_concurrent_dynamic_snapshots int Numero massimo di sessioni simultanee di snapshot dei dati filtrati eseguibili nella pubblicazione di tipo merge. Se 0, non esiste alcun limite al numero massimo di sessioni di snapshot di dati filtrati simultanee che possono essere eseguite simultaneamente sulla pubblicazione in un determinato momento.
use_partition_groups int Viene determinato se vengono utilizzate partizioni precalcolate. Un valore indica 1 che vengono usate partizioni pre-calcolate.
num_of_articles int Numero di articoli nella pubblicazione.
replicate_ddl int Viene specificato se le modifiche dello schema apportate in tabelle pubblicate vengono replicate. Un valore indica 1 che le modifiche dello schema vengono replicate.
publication_number smallint Numero assegnato alla pubblicazione.
allow_subscriber_initiated_snapshot bit Viene determinato se il processo di generazione dello snapshot dei dati filtrati può essere avviato dai Sottoscrittori. Un valore 1 indica che i Sottoscrittori possono avviare il processo di snapshot.
allow_web_synchronization bit Viene determinato se la pubblicazione è abilitata per la sincronizzazione Web. Un valore indica 1 che la sincronizzazione Web è abilitata.
web_synchronization_url nvarchar(500) URL Internet utilizzato per la sincronizzazione Web.
allow_partition_realignment bit Determina se le eliminazioni vengono inviate al Sottoscrittore quando la modifica della riga nel server di pubblicazione provoca la modifica della partizione. Un valore indica 1 che le eliminazioni vengono inviate al Sottoscrittore. Per altre informazioni, vedere sp_addmergepublication (Transact-SQL).
retention_period_unit tinyint Viene definita l'unità utilizzata per la definizione del periodo di memorizzazione. I valori possibili sono i seguenti:

0 = giorno

1 = settimana

2 = mese

3 = anno
has_downloadonly_articles bit Specifica se la pubblicazione include articoli di solo download. Il valore 1 indica che sono presenti articoli di sola download.
decentralized_conflicts int Viene specificato se i record dei conflitti vengono archiviati nel Sottoscrittore a causa dei quali si è verificato il conflitto. Un valore indica 0 che i record in conflitto non vengono archiviati nel Sottoscrittore. Un valore indica 1 che i record in conflitto vengono archiviati nel Sottoscrittore.
generation_leveling_threshold int Viene specificato il numero di modifiche contenute in una generazione. Una generazione è una raccolta di modifiche recapitate a un server di pubblicazione o a un Sottoscrittore
automatic_reinitialization_policy bit Indica se le modifiche vengono caricate dal Sottoscrittore prima di una reinizializzazione automatica. Un valore indica 1 che le modifiche vengono caricate dal Sottoscrittore prima che si verifichi una reinizializzazione automatica. Il valore 0 indica che le modifiche non vengono caricate prima della reinizializzazione automatica.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

sp_helpmergepublication viene usato nella replica di tipo merge.

Autorizzazioni

I membri dell'elenco di accesso alla pubblicazione per una pubblicazione possono essere eseguiti sp_helpmergepublication per tale pubblicazione. I membri del ruolo predefinito del database db_owner nel database di pubblicazione possono essere eseguiti sp_helpmergepublication per informazioni su tutte le pubblicazioni.

Esempi

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

USE [AdventureWorks2022]
EXEC sp_helpmergepublication @publication = @publication;
GO