sp_repladdcolumn (Transact-SQL)
S’applique à : SQL Server Azure SQL Managed Instance
Ajoute une colonne à un article de table publié existant. 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 et est prise en charge pour la compatibilité descendante. Il doit être utilisé uniquement avec les serveurs de publication SQL Server 2000 (8.x) et SQL Server 2000 (8.x) republier les 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) et versions ultérieures.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_repladdcolumn
[ @source_object = ] N'source_object'
, [ @column = ] N'column'
, [ @typetext = ] N'typetext'
[ , [ @publication_to_add = ] N'publication_to_add' ]
[ , [ @from_agent = ] from_agent ]
[ , [ @schema_change_script = ] N'schema_change_script' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]
Arguments
[ @source_object = ] N’source_object'
Nom de l’article de table qui contient la nouvelle colonne à ajouter. @source_object est nvarchar(358), sans valeur par défaut.
[ @column = ] N’column'
Nom de la colonne dans la table à ajouter pour la réplication. @column est sysname, sans valeur par défaut.
[ @typetext = ] N’typetext'
Définition de la colonne en cours d’ajout. @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, et 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 de paramètre @typetext .
[ @publication_to_add = ] N’publication_to_add'
Nom de la composition à laquelle la nouvelle colonne est ajoutée. @publication_to_add est nvarchar(4000), avec la valeur par défaut all
. Si all
, toutes les publications contenant cette table sont affectées. Si @publication_to_add est spécifié, seule cette publication a la nouvelle colonne ajoutée.
[ @from_agent = ] from_agent
Spécifie si la procédure stockée est exécutée par un agent de réplication. @from_agent est int, avec la valeur par défaut 0
. Une valeur est 1
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 0
doit être utilisée.
[ @schema_change_script = ] N’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é une fois qu’une modification de schéma est apportée à un article de table répliqué à l’aide sp_repladdcolumn
de , et peut être utilisée comme suit :
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_script pouvez ê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_snapshot
Active ou désactive la possibilité d'invalider un instantané. @force_invalidate_snapshot est bit, avec la valeur par défaut 1
.
1
spécifie que les modifications apportées à l’article peuvent entraîner l’invalidation de l’instantané et, si c’est le cas, une valeur d’autorisation pour1
que le nouvel instantané se produise.0
spécifie que les modifications apportées à l’article n’entraînent 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 bit, avec la valeur par défaut 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, une valeur d’autorisation de réinitialisation de1
l’abonnement se produit.
Valeurs des codes de retour
0
(réussite) or 1
(échec).
autorisations
Seuls les membres du rôle serveur fixe sysadmin et le rôle de base de données fixe db_owner peut s’exécuter sp_repladdcolumn
.