Procédure : spécifier des options de schéma (programmation Transact-SQL de la réplication)

Lors de la publication d'une table ou d'une vue, la réplication vous permet de contrôler les options de création d'objet qui sont répliquées pour l'objet publié. Les options de schéma peuvent être définies par programme lorsqu'un article est créé à l'aide des procédures stockées de réplication. Elles peuvent également être modifiées ultérieurement. Si vous ne spécifiez pas explicitement ces options pour un article, un jeu d'options par défaut sera défini.

[!REMARQUE]

Les options de schéma par défaut lors de l'utilisation de procédures stockées de réplication peuvent différer des options par défaut lorsque des articles sont ajoutés à l'aide de MicrosoftSQL Server Management Studio.

Les options de schéma sont spécifiées sous la forme d'une valeur hexadécimale qui correspond au résultat | (opération de bits OR) d'une ou de plusieurs options. Pour plus d'informations, consultez sp_addarticle et sp_addmergearticle.

[!REMARQUE]

Vous devez convertir les valeurs des options de schéma du format binaire au format int avant d'effectuer une opération au niveau du bit. Pour plus d'informations, consultez CONVERT (Transact-SQL).

Pour spécifier des options de schéma lors de la définition d'un article pour une publication transactionnelle ou de capture instantanée

Pour spécifier des options de schéma lors de la définition d'un article pour une publication de fusion

Pour modifier des options de schéma pour un article existant dans une publication transactionnelle ou de capture instantanée

  1. Exécutez sp_helparticle dans la base de données de publication du serveur de publication. Spécifiez le nom de la publication à laquelle l'article appartient pour @publication et le nom de l'article pour @article. Notez la valeur de la colonne schema_option dans le jeu de résultats.

  2. Exécutez une opération & (opération de bits AND) en utilisant la valeur de l'étape 1 et la valeur de l'option de schéma de votre choix pour déterminer si cette option est définie.

    • Si le résultat est 0, l'option n'est pas définie.

    • Si le résultat correspond à la valeur de l'option, l'option est déjà définie.

  3. Si l'option n'est pas définie, exécutez une opération | (opération de bits OR) en utilisant la valeur de l'étape 1 et la valeur de l'option de schéma de votre choix.

  4. Exécutez sp_changearticle dans la base de données de publication du serveur de publication. Spécifiez le nom de la publication à laquelle l'article appartient pour @publication, le nom de l'article pour @article, la valeur schema_option pour @property et le résultat hexadécimal obtenu à l'étape 3 pour @value.

  5. Exécutez l'Agent de capture instantanée afin de générer une nouvelle capture instantanée. Pour plus d'informations, consultez Procédure : créer la capture instantanée initiale (programmation Transact-SQL de la réplication).

Pour modifier des options de schéma pour un article existant dans une publication transactionnelle ou de capture instantanée

  1. Exécutez sp_helpmergearticle dans la base de données de publication du serveur de publication. Spécifiez le nom de la publication à laquelle l'article appartient pour @publication et le nom de l'article pour @article. Notez la valeur de la colonne schema_option dans le jeu de résultats.

  2. Exécutez une opération & (opération de bits AND) en utilisant la valeur de l'étape 1 et la valeur de l'option de schéma de votre choix pour déterminer si cette option est définie.

    • Si le résultat est 0, l'option n'est pas définie.

    • Si le résultat correspond à la valeur de l'option, l'option est déjà définie.

  3. Si l'option n'est pas définie, exécutez une opération | (opération de bits OR) en utilisant la valeur de l'étape 1 et la valeur de l'option de schéma de votre choix.

  4. Exécutez sp_changemergearticle dans la base de données de publication du serveur de publication. Spécifiez le nom de la publication à laquelle l'article appartient pour @publication, le nom de l'article pour @article, la valeur schema_option pour @property et le résultat hexadécimal obtenu à l'étape 3 pour @value.

  5. Exécutez l'Agent de capture instantanée afin de générer une nouvelle capture instantanée. Pour plus d'informations, consultez Procédure : créer la capture instantanée initiale (programmation Transact-SQL de la réplication).