Condividi tramite


sp_changesubscription (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure

Modifica le proprietà di una sottoscrizione pull o push transazionale o snapshot coinvolta in una replica transazionale ad aggiornamento in coda. Per modificare le proprietà di tutti gli altri tipi di sottoscrizioni pull, usare sp_change_subscription_properties. sp_changesubscription viene eseguito nel database di pubblicazione del server di pubblicazione.

Importante

Quando si configura un server di pubblicazione con un server di distribuzione remoto, i valori forniti per tutti i parametri, inclusi @job_login e @job_password, vengono inviati al server di distribuzione come testo normale. È consigliabile crittografare la connessione tra il server di pubblicazione e il server di distribuzione remoto prima di eseguire questa stored procedure. Per ulteriori informazioni, vedere Configurare il motore di database di SQL Server per la crittografia delle connessioni.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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' ]
[ ; ]

Argomenti

[ @publication = ] N'publication'

Nome della pubblicazione da modificare. @publication è sysname, senza impostazione predefinita.

[ @article = ] N'article'

Nome dell'articolo da modificare. @article è sysname, senza impostazione predefinita.

[ @subscriber = ] N'subscriber'

Nome del Sottoscrittore. @subscriber è sysname, senza impostazione predefinita.

[ @destination_db = ] N'destination_db'

Nome del database di sottoscrizione. @destination_db è sysname, senza impostazione predefinita.

[ @property = ] N'property'

Proprietà da modificare per la sottoscrizione specificata. @property è nvarchar(30)e può essere uno dei valori della tabella.

[ @value = ] N'value'

Nuovo valore per la proprietà specificata. @value è nvarchar(4000)e può essere uno dei valori della tabella.

Proprietà valore Descrizione
distrib_job_login Account di accesso per l'account di Windows utilizzato per l'esecuzione dell'agente.
distrib_job_password Password dell'account di Windows utilizzato per l'esecuzione dell'agente.
subscriber_catalog 1 Catalogo da utilizzare per stabilire una connessione al provider OLE DB
subscriber_datasource 1 Nome dell'origine dei dati riconosciuto dal provider OLE DB.
subscriber_location 1 Percorso del database riconosciuto dal provider OLE DB.
subscriber_login Nome dell'account di accesso nel Sottoscrittore.
subscriber_password Password complessa per l'account di accesso fornito.
subscriber_security_mode 1 Esegue la connessione al Sottoscrittore utilizzando l'autenticazione di Windows.
0 Usare l'autenticazione di SQL Server per la connessione al Sottoscrittore.
subscriber_provider 1 ProgID univoco con il quale viene registrato il provider OLE DB per l'origine dei dati non SQL Server.
subscriber_providerstring 1 Stringa di connessione specifica del provider OLE DB che identifica l'origine dei dati.
subscriptionstreams Numero di connessioni consentite per agente di distribuzione di applicare batch di modifiche in parallelo a un Sottoscrittore. È supportato un intervallo di valori da 1 a 64 per i server di pubblicazione di SQL Server. Questa proprietà deve essere 0 per sottoscrittori non SQL Server, server di pubblicazione Oracle o sottoscrizioni peer-to-peer.
subscriber_type 1 Server dell'origine dei dati ODBC.
3 Provider OLE DB
memory_optimized bit Indica che la sottoscrizione supporta tabelle ottimizzate per la memoria. memory_optimized è bit, dove 1 è true (la sottoscrizione supporta tabelle ottimizzate per la memoria).

1 Questa proprietà è valida solo per i Sottoscrittori non SQL Server.

[ @publisher = ] N'publisher'

Specifica un server di pubblicazione non SQL Server. @publisher è sysname, con un valore predefinito .NULL

@publisher non deve essere specificato per un server di pubblicazione di SQL Server.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

sp_changesubscription viene usato nella replica snapshot e transazionale.

sp_changesubscription può essere usato solo per modificare le proprietà delle sottoscrizioni push o delle sottoscrizioni pull coinvolte nella replica transazionale ad aggiornamento in coda. Per modificare le proprietà di tutti gli altri tipi di sottoscrizioni pull, usare sp_change_subscription_properties.

Dopo la modifica dell'account di accesso o della password di un agente, è necessario arrestare e riavviare l'agente per rendere effettiva la modifica.

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin o db_owner ruolo predefinito del database possono eseguire sp_changesubscription.