Partager via


sp_changesubscription (Transact-SQL)

S’applique à : SQL Server Azure 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. 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 au serveur de distribution sous forme de texte brut. 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 Configurer le moteur de base de données SQL Server pour le chiffrement des connexions.

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

[ @publication = ] N’publication'

Nom de la composition à modifier. @publication est sysname, sans valeur par défaut.

[ @article = ] N’article'

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

[ @subscriber = ] N’subscriber'

Nom de l'Abonné. @subscriber est sysname, sans valeur par défaut.

[ @destination_db = ] N’destination_db'

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

[ @property = ] N’property'

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

[ @value = ] N’value'

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

Propriété Valeur Description
distrib_job_login Nom de connexion du compte 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 1 Catalogue à utiliser lors d’une connexion au fournisseur OLE DB.
subscriber_datasource 1 Nom de la source de données tel qu'il est interprété par le fournisseur OLE DB.
subscriber_location 1 Emplacement de la base de données tel qu’il est compris par le fournisseur OLE DB.
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 1 Identificateur de programme unique (PROGID) avec lequel le fournisseur OLE DB de la source de données non-SQL Server est inscrit.
subscriber_providerstring 1 Chaîne de connexion propre au fournisseur OLE DB qui identifie la source de données.
subscriptionstreams Nombre de connexions autorisées par Agent de distribution pour appliquer des lots de modifications en parallèle à un Abonné. Une plage de valeurs est 1 64 prise en charge pour les serveurs de publication SQL Server. Cette propriété doit être 0 destinée aux abonnés non-SQL Server, aux serveurs de publication Oracle ou aux 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 true (l’abonnement prend en charge les tables mémoire optimisées).

1 Cette propriété n’est valide que pour les abonnés non-SQL Server.

[ @publisher = ] N’publisher'

Spécifie un serveur de publication non-SQL Server. @publisher est sysname, avec la valeur par défaut NULL.

@publisher ne doit pas être spécifié pour un serveur de publication SQL Server.

Valeurs des codes de retour

0 (réussite) or 1 (échec).

Notes

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

sp_changesubscription ne peut être utilisé que pour modifier les propriétés des abonnements push ou des abonnements par extraction 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.

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 s’exécuter sp_changesubscription.