sys.sp_changesubscription (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL Managed Instance

Verandert de eigenschappen van een snapshot- of transactioneel push-abonnement of een pull-abonnement dat betrokken is bij het updaten van transactionele replicatie in de wachtrij. Om eigenschappen van alle andere soorten pull-abonnementen te wijzigen, gebruik sp_change_subscription_properties. sp_changesubscriptionwordt uitgevoerd bij de Publisher in de publicatiedatabase.

Belangrijk

Bij het configureren van een Publisher met een externe Distributor worden de waarden die voor alle parameters, inclusief @job_login en @job_password, als platte tekst naar de Distributor gestuurd. Versleutel de verbinding tussen publisher en de externe distributeur voordat u deze opgeslagen procedure uitvoert. Zie SQL Server Database Engine configureren voor het versleutelen van verbindingenvoor meer informatie.

Transact-SQL syntaxis-conventies

Syntax

sys.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'publicatie'

De naam van de publicatie verandert. @publication is sysname, zonder standaard.

[ @article = ] N'artikel'

De naam van het artikel moet worden veranderd. @article is sysname, zonder standaard.

[ @subscriber = ] N'abonnee'

De naam van de abonnee. @subscriber is een systeemnaam, zonder standaard.

[ @destination_db = ] N'destination_db'

De naam van de abonnementsdatabase. @destination_db is sysname, zonder standaard.

[ @property = ] N'eigenschap'

De eigendom kan veranderen voor het gegeven abonnement. @property is nvarchar(30) en kan een van de waarden in de tabel zijn.

[ @value = ] N'waarde'

De nieuwe waarde voor de gespecificeerde @property. @value is nvarchar(4000) en kan een van de waarden in de tabel zijn.

Property Value Description
distrib_job_login Log in op het Windows-account waaronder de agent draait.
distrib_job_password Wachtwoord voor het Windows-account waaronder de agent draait.
subscriber_catalog 1 Catalogus te gebruiken bij het maken van een verbinding met de OLE DB-provider.
subscriber_datasource 1 Naam van de gegevensbron zoals begrepen door de OLE DB-provider.
subscriber_location 1 Locatie van de database zoals begrepen door de OLE DB-provider.
subscriber_login Loginnaam bij de Abonnee.
subscriber_password Sterk wachtwoord voor de opgegeven aanmelding.
subscriber_security_mode 1 Gebruik Windows-authenticatie bij het verbinden met de abonnee.
0 Gebruik SQL Server-authenticatie bij het verbinden met de abonnee.
subscriber_provider 1 Unieke programmatische identificatie (PROGID) waarmee de OLE DB-provider voor de niet-SQL Server databron is geregistreerd.
subscriber_providerstring 1 OLE DB provider-specifieke verbindingsreeks die de databron identificeert.
subscriptionstreams Het aantal verbindingen dat per Distribution Agent is toegestaan om batches van wijzigingen parallel toe te passen op een abonnee. Een bereik van waarden van 1 naar 64 wordt ondersteund voor SQL Server Publishers. Deze eigenschap moet gelden 0 voor niet-SQL Server-abonnees, Oracle Publishers of peer-to-peer abonnementen.
subscriber_type 1 ODBC databronserver
3 OLE DB-provider
memory_optimized bit Geeft aan dat het abonnement geheugengeoptimaliseerde tabellen ondersteunt. memory_optimized is bit, waarbij 1 is true (het abonnement ondersteunt geheugengeoptimaliseerde tabellen).

1 Deze eigenschap is alleen geldig voor niet-SQL Server-abonnees.

[ @publisher = ] N'uitgever'

Specificeert een niet-SQL Server Publisher. @publisher is sysname, met als standaard NULL.

@publisher zou niet gespecificeerd moeten worden voor een SQL Server Publisher.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Remarks

sp_changesubscription wordt gebruikt in momentopnamen en transactionele replicatie.

sp_changesubscription kan alleen worden gebruikt om de eigenschappen van push-abonnementen of pull-abonnementen te wijzigen die betrokken zijn bij queue-updating transactionele replicatie. Om eigenschappen van alle andere soorten pull-abonnementen te wijzigen, gebruik sp_change_subscription_properties.

Na het wijzigen van een agent-login of wachtwoord moet je de agent stoppen en opnieuw starten voordat de wijziging van kracht wordt.

Permissions

Alleen leden van de sysadmin-vaste serverrol of db_owner vaste databaserol kunnen uitvoeren sp_changesubscription.