sp_repladdcolumn (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

Ajoute une colonne à un article de table existant qui a été publié. Permet d'ajouter la nouvelle colonne à tous les serveurs de publication, ou à une publication spécifique, qui publient cette table. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.

Important

Cette procédure stockée est déconseillée ; elle est prise en charge pour des raisons de compatibilité descendante. Il doit être utilisé uniquement avec les serveurs de publication Microsoft SQL Server 2000 (8.x) et SQL Server 2000 (8.x) republiant les abonnés. Cette procédure ne doit pas être utilisée sur les colonnes avec des types de données qui ont été introduits dans SQL Server 2005 (9.x) ou version ultérieure.

Conventions de la syntaxe Transact-SQL

Syntaxe

  
sp_repladdcolumn [ @source_object = ] 'source_object', [ @column = ] 'column' ]  
    [ , [ @typetext = ] 'typetext' ]  
    [ , [ @publication_to_add = ] 'publication_to_add' ]  
    [ , [ @from_agent = ] from_agent ]  
    [ , [ @schema_change_script = ] 'schema_change_script' ]  
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]  
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]  

Arguments

[ @source_object =] 'source_object'
Nom de l'article de table contenant la nouvelle colonne à ajouter. source_object est nvarchar(358), sans valeur par défaut.

[ @column =] 'column'
Nom de la colonne dans la table à ajouter pour la réplication. la colonne est sysname, sans valeur par défaut.

[ @typetext =] 'typetext'
Définition de la colonne ajoutée. typetext est nvarchar(3000), sans valeur par défaut. Par exemple, si la colonne order_filled est ajoutée, et qu’il s’agit d’un champ de caractère unique, non NULL, et a une valeur par défaut de N, order_filled serait le paramètre de colonne, tandis que la définition de la colonne, char(1) NOT NULL CONSTRAINT constraint_name DEFAULT 'N' serait la valeur du paramètre typetext.

[ @publication_to_add =] 'publication_to_add'
Nom de la publication à laquelle la nouvelle colonne est ajoutée. publication_to_add est nvarchar(4000), avec une valeur par défaut de ALL. Si TOUS, toutes les publications contenant ce tableau sont affectées. Si publication_to_add est spécifié, seule cette publication a la nouvelle colonne ajoutée.

[ @from_agent = ] from_agent
Indique si la procédure stockée est exécutée par un agent de réplication. from_agent est int, avec une valeur par défaut de 0, où une valeur de 1 est utilisée lorsque cette procédure stockée est exécutée par un agent de réplication, et dans tous les autres cas, la valeur par défaut de 0doit être utilisée.

[ @schema_change_script =] 'schema_change_script'
Spécifie le nom et le chemin d’accès d’un script SQL Server utilisé pour modifier les procédures stockées personnalisées générées par le système. schema_change_script est nvarchar(4000), avec la valeur NULL par défaut. La réplication permet aux procédures stockées personnalisées définies par l'utilisateur de remplacer une ou plusieurs procédures par défaut utilisées dans la réplication transactionnelle. schema_change_script est exécutée une fois qu’une modification de schéma est apportée à un article de table répliqué à l’aide de sp_repladdcolumn et peut être utilisée pour effectuer l’une des opérations suivantes :

  • Si des procédures stockées personnalisées sont automatiquement régénérées, schema_change_script pouvez être utilisé pour supprimer ces procédures stockées personnalisées et les remplacer par des procédures stockées personnalisées définies par l’utilisateur qui prennent en charge le nouveau schéma.

  • Si les procédures stockées personnalisées ne sont pas régénérées automatiquement, schema_change_scriptpouvez être utilisée pour régénérer ces procédures stockées ou pour créer des procédures stockées personnalisées définies par l’utilisateur.

[ @force_invalidate_snapshot = ] force_invalidate_instantané
Active ou désactive la possibilité d'invalider un instantané. force_invalidate_instantané est un peu, avec une valeur par défaut de 1.

1 spécifie que les modifications apportées à l’article peuvent entraîner l’instantané non valide et, si c’est le cas, une valeur de 1 donne l’autorisation de la nouvelle instantané.

0 spécifie que les modifications apportées à l’article n’entraînent pas l’instantané non valide.

[ @force_reinit_subscription = ] force_reinit_subscription
Active ou désactive la possibilité de réinitialiser l'abonnement. force_reinit_subscription est un peu avec une valeur par défaut de 0.

0 spécifie que les modifications apportées à l’article n’entraînent pas la réinitialisation de l’abonnement.

1 spécifie que les modifications apportées à l’article peuvent entraîner la réinitialisation de l’abonnement et, si c’est le cas, la valeur 1 donne l’autorisation de réinitialiser l’abonnement.

Codet de retour

0 (réussite) ou 1 (échec)

Autorisations

Seuls les membres du rôle serveur fixe sysadmin et du rôle de base de données fixe db_owner peuvent exécuter sp_repladdcolumn.

Voir aussi

Fonctionnalités dépréciées dans la réplication SQL Server
Procédures stockées système (Transact-SQL)