sp_changesubscription (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

Modifie les propriétés d'un abonnement par envoi de données (push) ou par extraction de données (pull) d'instantané ou transactionnel, qui participe à une réplication transactionnelle de mise à jour en attente. Pour modifier les propriétés de tous les autres types d’abonnements par extraction, utilisez sp_change_subscription_properties (Transact-SQL). sp_changesubscription est exécuté sur le serveur de publication sur la base de données de publication.

Important

Lors de la configuration d'un serveur de publication avec un serveur de distribution distant, les valeurs fournies pour tous les paramètres, y compris job_login et job_password, sont envoyées en texte brut au serveur de distribution. Vous devez chiffrer la connexion entre le serveur de publication et son serveur de distribution distant avant d'exécuter cette procédure stockée. Pour plus d’informations, consultez Activer des connexions chiffrées dans le moteur de base de données (Gestionnaire de configuration SQL Server).

Conventions de la syntaxe Transact-SQL

Syntaxe

  
sp_changesubscription [ @publication = ] 'publication'  
        , [ @article = ] 'article'  
        , [ @subscriber = ] 'subscriber'  
        , [ @destination_db = ] 'destination_db'  
        , [ @property = ] 'property'  
        , [ @value = ] 'value'  
    [ , [ @publisher = ] 'publisher' ]  

Arguments

[ @publication = ] 'publication' Nom de la composition à modifier. la publicationest sysname, sans valeur par défaut

[ @article = ] 'article' Nom de l’article à modifier. l’article est sysname, sans valeur par défaut.

[ @subscriber = ] 'subscriber' Nom de l’Abonné. l’abonné est sysname, sans valeur par défaut.

[ @destination_db = ] 'destination_db' Nom de la base de données d’abonnement. destination_db est sysname, sans valeur par défaut.

[ @property = ] 'property' Propriété à modifier pour l’abonnement donné. est nvarchar(30) et peut être l’une des valeurs de la table.

[ @value = ] 'value'Nouvelle valeur de la propriété spécifiée. la valeur est nvarchar(4000) et peut être l’une des valeurs de la table.

Propriété Valeur Description
distrib_job_login Connectez-vous au compte Microsoft Windows sous lequel l’agent s’exécute.
distrib_job_password Mot de passe du compte Windows sous lequel l’agent s’exécute.
subscriber_catalog Catalogue à utiliser lors d’une connexion au fournisseur OLE DB. Cette propriété est valide uniquement pour les abonnés non-Microsoft SQL Server.
subscriber_datasource Nom de la source de données tel qu'il est interprété par le fournisseur OLE DB. Cette propriété est valide uniquement pour les abonnés non-SQL Server .
subscriber_location Emplacement de la base de données tel qu’il est compris par le fournisseur OLE DB. Cette propriété est valide uniquement pour les abonnés non-SQL Server .
subscriber_login Nom de la connexion du côté Abonné.
subscriber_password Mot de passe fort pour le nom de connexion fourni.
subscriber_security_mode 1 Utilise l'authentification Windows pour la connexion à l'Abonné.
0 Utilisez l’authentification SQL Server lors de la connexion à l’Abonné.
subscriber_provider Identificateur de programme unique (PROGID) avec lequel le fournisseur OLE DB de la source de données non-SQL Server est inscrit. Cette propriété est valide uniquement pour les abonnés non-SQL Server .
subscriber_providerstring Chaîne de connexion propre au fournisseur OLE DB qui identifie la source de données. Cette propriété est valide uniquement pour les abonnés non-SQL Server .
subscriptionstreams Nombre de connexions autorisées par Agent de distribution pour appliquer en parallèle des traitements de modifications à un Abonné. Une plage de valeurs comprises entre 1 et 64 est prise en charge pour les serveurs de publication SQL Server. Cette propriété doit être 0 pour les abonnés non-SQL Server, les serveurs de publication Oracle ou les abonnements d’égal à égal.
subscriber_type 1 Serveur de la source de données ODBC.
3 Fournisseur OLE DB
memory_optimized bit Indique que l’abonnement prend en charge les tables mémoire optimisées. memory_optimized est bit, où 1 est égal à true (l’abonnement prend en charge les tables mémoire optimisées).

[ @publisher = ] 'publisher' Spécifie un serveur de publication non-SQL Server. publisher est sysname, avec une valeur par défaut null.

Remarque

l’éditeur ne doit pas être spécifié pour un serveur de publication SQL Server.

Codet de retour

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

Notes

sp_changesubscription est utilisé dans la réplication transactionnelle et instantané.

sp_changesubscription ne peut être utilisé que pour modifier les propriétés des abonnements push ou des abonnements pull impliqués dans la mise à jour en file d’attente de la réplication transactionnelle. Pour modifier les propriétés de tous les autres types d’abonnements par extraction, utilisez sp_change_subscription_properties (Transact-SQL).

Après avoir modifié le nom de connexion ou le mot de passe d'un Agent, vous devez arrêter et redémarrer celui-ci avant que la modification prenne effet.

Autorisations

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

Voir aussi

sp_addsubscription (Transact-SQL)
sp_dropsubscription (Transact-SQL)