sp_repladdcolumn (Transact-SQL)

S’applique à : SQL Server (toutes les versions prises en charge) Azure 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 ne doit être utilisé qu’avec Microsoft SQL Server 2000 (8.x) Publishers et SQL Server 2000 (8.x) republiant des Abonnés. Cette procédure ne doit pas être utilisée sur les colonnes avec des types de données introduits dans SQL Server 2005 (9,x) ou une version ultérieure.

Topic link iconConventions 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 caractère unique, et non NULL, et a une valeur par défaut 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 la valeur par défaut ALL. Si TOUS, toutes les publications contenant cette table sont affectées. Si publication_to_add est spécifié, seule la nouvelle colonne est ajoutée à cette composition.

[ @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 par défaut NULL. 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é après qu’une modification de schéma a été 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 les utiliser 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é 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_snapshot
Active ou désactive la possibilité d'invalider un instantané. force_invalidate_snapshot est un peu, avec une valeur par défaut de 1.

1 spécifie que les modifications apportées à l’article peuvent rendre l’instantané non valide et, si c’est le cas, la valeur 1 donne l’autorisation à la nouvelle capture instantanée de se produire.

0 spécifie que les modifications apportées à l’article ne provoquent pas l’invalidation de l’instantané.

[ @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)