Procedura: Gestione delle partizioni di una pubblicazione di tipo merge con filtri con parametri (programmazione Transact-SQL della replica)
È possibile utilizzare i filtri di riga con parametri per generare partizioni non sovrapposte. È possibile limitare tali partizioni in modo che solo una sottoscrizione riceva una determinata partizione. In questi casi, la presenza di un numero elevato di Sottoscrittori comporta un numero elevato di partizioni, che richiedono anche un numero uguale di snapshot partizionati. Per ulteriori informazioni, vedere Filtri di riga con parametri. Per migliorare la gestione di una pubblicazione con filtri con parametri, è possibile enumerare le partizioni esistenti a livello di programmazione, utilizzando stored procedure di replica. È inoltre possibile creare ed eliminare le partizioni esistenti. È possibile ottenere le informazioni seguenti sulle partizioni esistenti:
Modalità in cui una partizione viene filtrata mediante SUSER_SNAME (Transact-SQL) o HOST_NAME (Transact-SQL).
Nome del processo che genera uno snapshot partizionato.
Ora dell'ultima esecuzione di un processo di snapshot partizionato.
Mentre la seconda parte dello snapshot a due parti può essere generata su richiesta quando viene inizializzata una nuova sottoscrizione, le procedure descritte di seguito consentono di controllare il modo in cui tale snapshot viene generato e di effettuare la pregenerazione dello snapshot nel momento più appropriato. Per ulteriori informazioni, vedere Snapshot per pubblicazioni di tipo merge con filtri con parametri.
Nota
Se una pubblicazione contiene filtri con parametri che producono sottoscrizioni con partizioni non sovrapposte ed è necessario ricreare un'eventuale sottoscrizione persa, rimuovere la partizione sottoscritta, ricreare la sottoscrizione, quindi ricreare la partizione. La replica genera script di creazione per le partizioni del Sottoscrittore esistenti al momento della generazione di uno script per la creazione della pubblicazione. Per ulteriori informazioni, vedere Creazione di script di replica.
Per visualizzare informazioni sulle partizioni esistenti
- Nel database di pubblicazione del server di pubblicazione eseguire sp_helpmergepartition (Transact-SQL). Specificare il nome della pubblicazione per @publication. (Facoltativo) Specificare @suser_sname o @host_name per ottenere esclusivamente informazioni basate su un solo criterio di filtro.
Per definire una nuova partizione e generare un nuovo snapshot partizionato
Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergepartition (Transact-SQL). Specificare il nome della pubblicazione per @publication e il valore con parametri che definisce la partizione per uno degli elementi indicati di seguito.
@suser_sname: se il filtro con parametri è definito dal valore restituito da SUSER_SNAME (Transact-SQL).
@host_name: se il filtro con parametri è definito dal valore restituito da HOST_NAME (Transact-SQL).
Creare e inizializzare lo snapshot con parametri per la nuova partizione. Per ulteriori informazioni, vedere Procedura: Creazione di uno snapshot per una pubblicazione di tipo merge con filtri con parametri (programmazione Transact-SQL della replica).
Per eliminare una partizione
Nel database di pubblicazione del server di pubblicazione eseguire sp_dropmergepartition (Transact-SQL). Specificare il nome della pubblicazione per @publication e il valore con parametri che definisce la partizione per uno degli elementi indicati di seguito.
@suser_sname: se il filtro con parametri è definito dal valore restituito da SUSER_SNAME (Transact-SQL).
@host_name: se il filtro con parametri è definito dal valore restituito da HOST_NAME (Transact-SQL).
Viene inoltre effettuata la rimozione del processo di snapshot e degli eventuali file di snapshot per la partizione.