sp_repldropcolumn (Transact-SQL)

Supprime une colonne d'un article de table existant publié. 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 essentiellement prise en charge pour des raisons de compatibilité descendante. Elle doit être utilisée seulement avec des serveurs de publication Microsoft SQL Server 2000 et des Abonnés de republication SQL Server 2000. Cette procédure ne doit pas être utilisée sur des colonnes avec des types de données qui ont été introduits dans SQL Server 2005 ou SQL Server 2008.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL

Syntaxe

sp_repldropcolumn [ @source_object = ] 'source_object', [ @column = ] 'column' 
    [ , [ @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 à supprimer. source_object est de type nvarchar(258), sans valeur par défaut.

  • [ @column = ] 'column'
    Nom de la colonne dans la table à supprimer. column est de type sysname, sans valeur par défaut.

  • [ @from\_agent = ] from_agent
    Indique si la procédure stockée est exécutée par un agent de réplication. from_agent est de type int avec la valeur par défaut 0, sachant que la valeur 1 est utilisée lorsque cette procédure stockée est exécutée par un Agent de réplication ; dans tous les autres cas, la valeur par défaut 0  doit ê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 de type nvarchar(4000), avec NULL comme valeur 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é après une modification de schéma dans l'article de table répliqué à l'aide de sp_repldropcolumn, et peut être utilisé pour effectuer l'une des opérations suivantes :

    • Si les procédures stockées personnalisées sont automatiquement régénérées, schema_change_script peut être utilisé pour les supprimer et les remplacer par des procédures stockées personnalisées définies par l'utilisateur et 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 peut être utilisé pour les régénérer 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 de type bit, avec 1 comme valeur par défaut.

    1 spécifie que les modifications de l'article peuvent invalider l'instantané et dans ce cas, la valeur 1 autorise la réalisation du nouvel instantané.

    0 spécifie que les modifications de l'article n'invalident pas l'instantané.

  • [ @force\_reinit\_subscription = ] force_reinit_subscription
    Active ou désactive la possibilité de réinitialiser l'abonnement. force_reinit_subscription est de type bit, avec 0 comme valeur par défaut.

    0 indique que les modifications apportées à l'article ne doivent pas provoquer la réinitialisation de l'abonnement.

    1 spécifie que les modifications de l'article peuvent provoquer la réinitialisation de l'abonnement et dans ce cas, la valeur 1 autorise cette réinitialisation.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Notes

sp_repldropcolumn est déconseillée. La suppression d'une colonne dans un article de table répliqué doit être effectuée en exécutant des commandes DDL (Data Definition Language) sur la table publiée. La réplication réplique automatiquement ces commandes DDL dès lors que la réplication DDL est activée. Pour plus d'informations, consultez Modifier le schéma dans les bases de données de publication.

sp_repladdcolumn est toujours nécessaire lors de la propagation des modifications DDL depuis les Abonnés de republication qui s'exécutent sur une version antérieure des Abonnés Microsoft SQL Server 2000.

sp_repldropcolumn est utilisée pour tous les types de réplications.

Si vous utilisez sp_repldropcolumn et qu'une modification de schéma est apportée à un article qui appartient à une publication qui utilise un package DTS (Data Transformation Services), la modification de schéma n'est pas propagée vers l'Abonné, et les procédures personnalisées pour INSERT/UPDATE/DELETE ne sont pas régénérées sur les Abonnés. L'utilisateur doit régénérer le package DTS manuellement et faire la modification de schéma correspondante au niveau des Abonnés. Si la mise à jour du schéma n'est pas appliquée, il est possible que l'Agent de distribution ne puisse pas appliquer les modifications suivantes. Avant d'effectuer une modification de schéma, vérifiez qu'aucune transaction en attente ne doit être diffusée.

Important

La base de données de publication doit être sauvegardée après l'exécution de sp_repldropcolumn, car sans cela, une opération de fusion peut échouer après la restauration de la base de données de publication.

Autorisations

Seuls les membres du rôle serveur fixe sysadmin sur le serveur de publication ou les membres des rôles de base de données fixes db_owner ou db_ddladmin de la base de données de publication peuvent exécuter sp_repldropcolumn.

Voir aussi

Référence

Procédures stockées système (Transact-SQL)

Concepts

Fonctionnalités déconseillées dans la réplication SQL Server