Procedura: Impostazione delle opzioni dello schema (programmazione Transact-SQL della replica)

Quando si pubblica una tabella o una vista, la replica consente di controllare le opzioni di creazione degli oggetti che vengono replicate per l'oggetto pubblicato. Le opzioni dello schema possono essere impostate a livello di programmazione durante la creazione di un articolo utilizzando le stored procedure di replica. Possono inoltre essere modificate in un secondo momento. Se queste opzioni non vengono specificate in modo esplicito per un articolo, verrà definito un set predefinito di opzioni.

Nota

Le opzioni predefinite dello schema disponibili quando si utilizzano le stored procedure di replica possono essere diverse dalle opzioni predefinite utilizzate durante l'aggiunta di articoli tramite Microsoft SQL Server Management Studio.

Le opzioni dello schema vengono specificate come valore esadecimale che corrisponde al risultato | (OR bit per bit) di una o più opzioni. Per ulteriori informazioni, vedere sp_addarticle e sp_addmergearticle.

Nota

È necessario convertire i valori delle opzioni dello schema da binario a int prima di eseguire un'operazione bit per bit. Per ulteriori informazioni, vedere Article Options for Transactional Replication.

Per specificare le opzioni dello schema durante la definizione di un articolo per una pubblicazione snapshot o transazionale

Per specificare le opzioni dello schema durante la definizione di un articolo per una pubblicazione di tipo merge

Per modificare le opzioni dello schema per un articolo esistente in una pubblicazione snapshot o transazionale

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_helparticle. Specificare il nome della pubblicazione cui appartiene l'articolo per @publication e il nome dell'articolo per @article. Si noti il valore della colonna schema_option nel set di risultati.

  2. Eseguire un'operazione & (AND bit per bit) utilizzando il valore del passaggio 1 e il valore dell'opzione dello schema desiderata per determinare se l'opzione è impostata.

    • Se il risultato è 0, l'opzione non è impostata.

    • Se il risultato corrisponde al valore dell'opzione, l'opzione è già impostata.

  3. Se l'opzione non è impostata, eseguire un'operazione | (OR bit per bit) utilizzando il valore del passaggio 1 e il valore dell'opzione dello schema desiderata.

  4. Nel database di pubblicazione del server di pubblicazione eseguire sp_changearticle. Specificare i nome della pubblicazione cui appartiene l'articolo per @publication, il nome dell'articolo per @article, il valore schema_option per @property e il risultato esadecimale del passaggio 3 per @value.

  5. Eseguire l'agente snapshot per generare un nuovo snapshot. Per ulteriori informazioni, vedere Procedura: Creazione dello snapshot iniziale (programmazione Transact-SQL della replica).

Per modificare le opzioni dello schema per un articolo esistente in una pubblicazione di tipo merge

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_helpmergearticle. Specificare il nome della pubblicazione cui appartiene l'articolo per @publication e il nome dell'articolo per @article. Si noti il valore della colonna schema_option nel set di risultati.

  2. Eseguire un'operazione & (AND bit per bit) utilizzando il valore del passaggio 1 e il valore dell'opzione dello schema desiderata per determinare se l'opzione è impostata.

    • Se il risultato è 0, l'opzione non è impostata.

    • Se il risultato corrisponde al valore dell'opzione, l'opzione è già impostata.

  3. Se l'opzione non è impostata, eseguire un'operazione | (OR bit per bit) utilizzando il valore del passaggio 1 e il valore dell'opzione dello schema desiderata.

  4. Nel database di pubblicazione del server di pubblicazione eseguire sp_changemergearticle. Specificare i nome della pubblicazione cui appartiene l'articolo per @publication, il nome dell'articolo per @article, il valore schema_option per @property e il risultato esadecimale del passaggio 3 per @value.

  5. Eseguire l'agente snapshot per generare un nuovo snapshot. Per ulteriori informazioni, vedere Procedura: Creazione dello snapshot iniziale (programmazione Transact-SQL della replica).