Spécifier les options de schéma pour la réplication SQL Server

S’applique à : SQL Server Azure SQL Managed Instance

Cette rubrique explique comment spécifier les options de schéma dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL. Lors de la publication d'une table ou d'une vue, vous pouvez contrôler les options de création d'objet qui sont répliquées pour l'objet publié. Vous pouvez définir ces options lorsque l'article est créé, et vous pouvez également les modifier 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 SQL Server Management Studio.

Dans cette rubrique

Avant de commencer

Limitations et restrictions

  • Si vous modifiez des options de schéma après la création d'une publication, vous devez générer un nouvel instantané.

Recommandations

Utilisation de SQL Server Management Studio

Spécifiez les options de schéma, telles que la copie des contraintes et des déclencheurs sur les abonnés, sous l’onglet Propriétés de la boîte de dialogue Propriétés de l’article - <Article>. Cet onglet est disponible dans l’Assistant Nouvelle publication et dans la boîte de dialogue Propriétés de la publication - <Publication>. Pour plus d’informations sur l’utilisation de l’Assistant et sur l’accès à la boîte de dialogue, consultez Créer une publication et Afficher et modifier les propriétés d’une publication.

Pour spécifier des options de schéma

  1. Dans la page Articles de l’Assistant Nouvelle publication ou la boîte de dialogue Propriétés de la publication - <Publication>, sélectionnez un article, puis cliquez sur Propriétés de l’article.

  2. Sélectionnez les articles auxquels les modifications de l'option de schéma doivent s'appliquer :

    • Cliquez sur Définir les propriétés de l’article de <type_objet> en surbrillance pour ouvrir la boîte de dialogue Propriétés de l’article - <nom_objet>. Les modifications de propriétés apportées dans cette boîte de dialogue sont appliquées uniquement à l’objet en surbrillance dans le volet Objet de la page Articles.

    • Cliquez sur Définir les propriétés de tous les articles <type_objet> pour ouvrir la boîte de dialogue Propriétés pour tous les articles <type_objet>. Les modifications de propriétés apportées dans cette boîte de dialogue sont appliquées à tous les objets de ce type dans le volet Objet de la page Articles, notamment ceux qui ne sont pas encore sélectionnés pour la publication.

      Remarque

      Les modifications de propriétés apportées dans la boîte de dialogue Propriétés pour tous les articles <type_objet> remplacent celles apportées dans la boîte de dialogue Propriétés de l’article - <nom_objet>. Ainsi, si vous voulez définir un certain nombre de valeurs par défaut applicables à tous les articles d'un type d'objet mais souhaitez également définir des propriétés pour des objets spécifiques, vous devez d'abord définir les valeurs par défaut pour tous les articles. Définissez ensuite les propriétés des objets individuels.

  3. Dans les sections Copier les objets et les paramètres sur l’abonné et Objet de destination de l’onglet Propriétés de la boîte de dialogue Propriétés de l’article - <Article>, spécifiez des valeurs pour les options.

  4. Modifiez les propriétés si nécessaire, puis cliquez sur OK.

  5. Si vous êtes dans la boîte de dialogue Propriétés de la publication – <Publication>, cliquez sur OK pour enregistrer et fermer la boîte de dialogue.

Utilisation de Transact-SQL

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 CAST et CONVERT (Transact-SQL).

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

  1. Exécutez sp_addarticlesur 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, l’objet de base de données qui est publié pour @source_object, le type d’objet de base de données pour @type et le résultat | (opération de bits OR) d’une ou plusieurs options de schéma pour @schema_option. Pour plus d’informations, consultez définir un Article.

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

  1. Dans la base de données de publication sur le serveur de publication, exécutez sp_addmergearticle. Spécifiez le nom de la publication à laquelle l’article appartient pour @publication, le nom de l’article pour @article, l’objet de base de données qui est publié pour @source_object et le résultat | (opération de bits OR) d’une ou plusieurs options de schéma pour @schema_option. Pour plus d’informations, consultez définir un Article.

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

  1. Exécutez sp_helparticledans 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 & (Bitwise 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_changearticledans 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 d'instantané afin de générer un nouvel instantané. Pour plus d’informations, voir Create and Apply the Initial Snapshot.

Pour modifier des options de schéma pour un article existant dans une publication de fusion

  1. Exécutez sp_helpmergearticledans 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 & (Bitwise 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. Dans la base de données de publication sur le serveur de publication, exécutez sp_changemergearticle. 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 d'instantané afin de générer un nouvel instantané. Pour plus d’informations, voir Create and Apply the Initial Snapshot.