sp_attachsubscription (Transact-SQL)
Collega un database di sottoscrizione esistente a qualsiasi Sottoscrittore. Questa stored procedure viene eseguita nel database master del nuovo Sottoscrittore.
Importante |
---|
Questa funzionalità è obsoleta e verrà rimossa a partire da una delle prossime versioni. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo. Nel caso di pubblicazioni di tipo merge partizionate mediante filtri con parametri, è consigliabile utilizzare la nuove funzionalità degli snapshot partizionati, che semplificano l'inizializzazione di un ampio numero di sottoscrizioni. Per ulteriori informazioni, vedere Snapshot per pubblicazioni di tipo merge con filtri con parametri. Nel caso di pubblicazioni non partizionate, è possibile inizializzare una sottoscrizione con un backup. Per ulteriori informazioni, vedere Inizializzazione di una sottoscrizione di tipo merge senza snapshot e Inizializzazione di una sottoscrizione transazionale senza uno snapshot. |
Sintassi
sp_attachsubscription [ @dbname = ] 'dbname'
, [ @filename = ] 'filename'
[ , [ @subscriber_security_mode = ] 'subscriber_security_mode' ]
[ , [ @subscriber_login = ] 'subscriber_login' ]
[ , [ @subscriber_password = ] 'subscriber_password' ]
[ , [ @distributor_security_mode = ] distributor_security_mode ]
[ , [ @distributor_login = ] 'distributor_login' ]
[ , [ @distributor_password = ] 'distributor_password' ]
[ , [ @publisher_security_mode = ] publisher_security_mode ]
[ , [ @publisher_login = ] 'publisher_login' ]
[ , [ @publisher_password = ] 'publisher_password' ]
[ , [ @job_login = ] 'job_login' ]
[ , [ @job_password = ] 'job_password' ]
[ , [ @db_master_key_password = ] 'db_master_key_password' ]
Argomenti
[ @dbname= ] 'dbname'
Stringa che specifica il database di sottoscrizione di destinazione tramite il nome. dbname è di tipo sysname e non prevede alcun valore predefinito.[ @filename= ] 'filename'
Nome e posizione fisica del file MDF primario (file di dati master). filename è di tipo nvarchar(260) e non prevede alcun valore predefinito.[ @subscriber_security_mode= ] 'subscriber_security_mode'
Modalità di protezione da utilizzare per la connessione a un Sottoscrittore in fase di sincronizzazione. subscriber_security_mode è di tipo int e il valore predefinito è NULL.[!NOTA]
È necessario utilizzare l'autenticazione di Windows. Se subscriber_security_mode non è impostato su 1 (l'autenticazione di Windows), viene restituito un errore.
[ @subscriber_login= ] 'subscriber_login'
Nome dell'account di accesso da utilizzare per la connessione a un Sottoscrittore in fase di sincronizzazione. subscriber_login è di tipo sysname e il valore predefinito è NULL.[!NOTA]
Questo parametro è obsoleto ed è ancora disponibile per compatibilità con gli script di versioni precedenti. Se subscriber_security_mode non è impostato su 1 e viene specificato subscriber_login, viene restituito un errore.
[ @subscriber_password= ] 'subscriber_password'
Password del Sottoscrittore. subscriber_password è di tipo sysname e il valore predefinito è NULL.[!NOTA]
Questo parametro è obsoleto ed è ancora disponibile per compatibilità con gli script di versioni precedenti. Se subscriber_security_mode non è impostato su 1 e viene specificato subscriber_password, viene restituito un errore.
[ @distributor_security_mode= ] distributor_security_mode
Modalità di protezione da utilizzare per la connessione a un server di distribuzione in fase di sincronizzazione. distributor_security_mode è di tipo int e il valore predefinito è 0. Il valore 0 indica l'autenticazione di SQL Server. Il valore 1 indica l'autenticazione di Windows. Se possibile, utilizzare l'autenticazione di Windows.[ @distributor_login= ] 'distributor_login'
Account di accesso da utilizzare per la connessione a un server di distribuzione in fase di sincronizzazione. distributor_login è obbligatorio se distributor_security_mode è impostato su 0. distributor_login è di tipo sysname e il valore predefinito è NULL.[ @distributor_password= ] 'distributor_password'
Password del server di distribuzione. distributor_password è obbligatorio se distributor_security_mode è impostato su 0. distributor_password è di tipo sysname e il valore predefinito è NULL. Il valore di distributor_password deve avere una lunghezza inferiore a 120 caratteri Unicode.Nota sulla protezione Non utilizzare una password vuota. Utilizzare una password complessa. Se possibile, richiedere agli utenti di immettere le credenziali di protezione in fase di esecuzione. Se è necessario archiviare le credenziali in un file script, è fondamentale proteggere il file per evitare accessi non autorizzati.
[ @publisher_security_mode= ] publisher_security_mode
Modalità di protezione da utilizzare per la connessione a un server di pubblicazione in fase di sincronizzazione. publisher_security_mode è di tipo int e il valore predefinito è 1. Se è 0, viene utilizzata l'autenticazione di SQL Server. Se è 1, viene utilizzata l'autenticazione di Windows. Se possibile, utilizzare l'autenticazione di Windows.[ @publisher_login= ] 'publisher_login'
Account di accesso da utilizzare per la connessione a un server di pubblicazione in fase di sincronizzazione. publisher_login è di tipo sysname e il valore predefinito è NULL.[ @publisher_password= ] 'publisher_password'
Password utilizzata per la connessione al server di pubblicazione. publisher_password è di tipo sysname e il valore predefinito è NULL. Il valore di publisher_password deve avere una lunghezza inferiore a 120 caratteri Unicode.Nota sulla protezione Non utilizzare una password vuota. Utilizzare una password complessa. Se possibile, richiedere agli utenti di immettere le credenziali di protezione in fase di esecuzione. Se è necessario archiviare le credenziali in un file script, è fondamentale proteggere il file per evitare accessi non autorizzati.
[ @job_login= ] 'job_login'
Account di accesso per l'account di Windows utilizzato per l'esecuzione dell'agente. job_login è di tipo nvarchar(257) e non prevede alcun valore predefinito. Questo account di Windows viene sempre utilizzato per le connessioni dell'agente al server di distribuzione.[ @job_password= ] 'job_password'
Password dell'account di Windows utilizzato per l'esecuzione dell'agente. job_password è di tipo sysname e non prevede alcun valore predefinito. Il valore di job_password deve avere una lunghezza inferiore a 120 caratteri Unicode.Nota sulla protezione Se possibile, richiedere agli utenti di immettere le credenziali di protezione in fase di esecuzione. Se è necessario archiviare le credenziali in un file script, è fondamentale proteggere il file per evitare accessi non autorizzati.
[ @db_master_key_password= ] 'db_master_key_password'
Password di una chiave master di database definita dall'utente. db_master_key_password è di tipo nvarchar(524) e il valore predefinito è NULL. Se db_master_key_password viene omesso, verrà eliminata e ricreata una chiave master di database esistente.Nota sulla protezione Se possibile, richiedere agli utenti di immettere le credenziali di protezione in fase di esecuzione. Se è necessario archiviare le credenziali in un file script, è fondamentale proteggere il file per evitare accessi non autorizzati.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Osservazioni
sp_attachsubscription viene utilizzata per la replica snapshot, transazionale e di tipo merge.
Non è possibile collegare una sottoscrizione alla pubblicazione se il periodo di memorizzazione della pubblicazione è scaduto. Se si specifica una sottoscrizione quando il periodo di memorizzazione è scaduto, viene generato un errore durante il collegamento o la prima sincronizzazione della sottoscrizione. Le pubblicazioni con un periodo di memorizzazione pari a 0, ovvero che non scadono mai, vengono ignorate.
Autorizzazioni
Solo i membri del ruolo predefinito del server sysadmin possono eseguire sp_attachsubscription.