Modello di protezione dell'agente di replica
Data aggiornamento: 12 dicembre 2006
Il modello di protezione dell'agente di replica consente un controllo accurato degli account utilizzati per l'esecuzione e le connessioni degli agenti. È possibile specificare un account diverso per ogni agente. Per ulteriori informazioni sulla definizione degli account, vedere Gestione degli account di accesso e delle password nella replica.
Importante: |
---|
Quando un membro del ruolo predefinito del server sysadmin configura la replica, è possibile configurare gli agenti di replica in modo che rappresentino l'account di SQL Server Agent. A tale scopo è necessario non specificare un account di accesso e una password per un agente di replica. Si tratta comunque di un approccio non consigliato. Ai fini della protezione, è consigliabile invece specificare un account per ogni agente dotato delle autorizzazioni minime descritte nella sezione "Autorizzazioni richieste per gli agenti" più avanti in questo argomento. |
Gli agenti di replica, come tutti i file eseguibili, vengono eseguiti nel contesto di un account di Windows. Utilizzano tale account per le connessioni con protezione integrata di Windows. L'account con il quale viene eseguito l'agente dipende dalla modalità di avvio di quest'ultimo:
Avvio dell'agente da un processo predefinito di SQL Server Agent: quando si utilizza un processo di SQL Server Agent per avviare un agente di replica, l'agente viene eseguito nel contesto di un account specificato al momento della configurazione della replica. Per ulteriori informazioni su SQL Server Agent e la replica, vedere la sezione "Protezione agente in SQL Server Agent" più avanti in questo argomento. Per ulteriori informazioni sulle autorizzazioni necessarie per l'account utilizzato per l'esecuzione di SQL Server Agent, vedere Configurazione di SQL Server Agent.
Avvio dell'agente da una riga dei comandi MS-DOS, direttamente o tramite uno script: l'agente viene eseguito nel contesto dell'account dell'utente che esegue l'agente dalla riga di comando.
Avvio dell'agente da un'applicazione che utilizza oggetti RMO (Replication Management Objects) o un controllo ActiveX: l'agente viene eseguito nel contesto dell'applicazione che chiama gli oggetti RMO o il controllo ActiveX.
[!NOTA] I controlli ActiveX sono obsoleti.
È consigliabile stabilire le connessioni nel contesto della protezione integrata di Windows. Per motivi di compatibilità con le versioni precedenti, è anche possibile utilizzare la protezione di SQL Server. Per ulteriori informazioni sulle procedure consigliate, vedere Procedure consigliate per la protezione della replica.
Autorizzazioni richieste per gli agenti
Gli account utilizzati per l'esecuzione e le connessioni degli agenti richiedono varie autorizzazioni. Tali autorizzazioni sono descritte nella tabella seguente. È consigliabile eseguire ogni agente con un account di Windows differente e assegnare all'account solo le autorizzazioni necessarie. Per informazioni sull'elenco di accesso alla pubblicazione, rilevante per numerosi agenti, vedere Protezione del server di pubblicazione.
[!NOTA] Controllo account utente di Windows Vista può impedire l'accesso amministrativo alla condivisione snapshot. Le autorizzazioni per la condivisione snapshot devono pertanto essere concesse in modo esplicito agli account di Windows utilizzati dall'agente snapshot, dall'agente di distribuzione e dall'agente di merge. È necessario eseguire questa operazione anche se gli account di Windows sono membri del gruppo Administrators. Per ulteriori informazioni, vedere Protezione della cartella snapshot.
Agente | Autorizzazioni |
---|---|
Agente snapshot |
L'account di Windows con cui viene eseguito l'agente viene utilizzato per le connessioni al server di distribuzione. Tale account deve:
L'account utilizzato per la connessione al server di pubblicazione deve essere almeno membro del ruolo predefinito del database db_owner nel database di pubblicazione. |
Agente di lettura log |
L'account di Windows con cui viene eseguito l'agente viene utilizzato per le connessioni al server di distribuzione. Tale account deve essere almeno membro del ruolo predefinito del database db_owner nel database di distribuzione. L'account utilizzato per la connessione al server di pubblicazione deve essere almeno membro del ruolo predefinito del database db_owner nel database di pubblicazione. |
Agente di distribuzione per una sottoscrizione push |
L'account di Windows con cui viene eseguito l'agente viene utilizzato per le connessioni al server di distribuzione. Tale account deve:
L'account utilizzato per la connessione al Sottoscrittore deve essere almeno membro del ruolo predefinito del database db_owner nel database di sottoscrizione o disporre di autorizzazioni equivalenti se la sottoscrizione è per un Sottoscrittore non SQL Server. |
Agente di distribuzione per una sottoscrizione pull |
L'account di Windows con cui viene eseguito l'agente viene utilizzato per le connessioni al Sottoscrittore. Tale account deve essere almeno membro del ruolo predefinito del database db_owner nel database di sottoscrizione. L'account utilizzato per la connessione al server di distribuzione deve:
|
Agente di merge per una sottoscrizione push |
L'account di Windows con cui viene eseguito l'agente viene utilizzato per le connessioni al server di pubblicazione e al server di distribuzione. Tale account deve:
L'account utilizzato per la connessione al Sottoscrittore deve essere almeno membro del ruolo predefinito del database db_owner nel database di sottoscrizione. |
Agente di merge per una sottoscrizione pull |
L'account di Windows con cui viene eseguito l'agente viene utilizzato per le connessioni al Sottoscrittore. Tale account deve essere almeno membro del ruolo predefinito del database db_owner nel database di sottoscrizione. L'account utilizzato per la connessione al server di pubblicazione e al server di distribuzione deve:
|
Agente di lettura coda |
L'account di Windows con cui viene eseguito l'agente viene utilizzato per le connessioni al server di distribuzione. Tale account deve essere almeno membro del ruolo predefinito del database db_owner nel database di distribuzione. L'account utilizzato per la connessione al server di pubblicazione deve essere almeno membro del ruolo predefinito del database db_owner nel database di pubblicazione. L'account utilizzato per la connessione al Sottoscrittore deve essere almeno membro del ruolo predefinito del database db_owner nel database di sottoscrizione. |
Protezione agente in SQL Server Agent
Quando si configura la replica mediante SQL Server Management Studio, le procedure Transact-SQL o gli oggetti RMO, per impostazione predefinita viene creato un processo di SQL Server Agent per ogni agente. Gli agenti vengono quindi eseguiti nel contesto di un passaggio del processo, indipendentemente dal fatto che l'esecuzione sia continua, in base a una pianificazione o su richiesta. È possibile visualizzare tali processi nella cartella Processi in SQL Server Management Studio. Nella tabella seguente sono elencati i nomi dei processi.
Agente | Nome processo |
---|---|
Agente snapshot |
<Publisher>-<PublicationDatabase>-<Publication>-<integer> |
Agente snapshot per una partizione di una pubblicazione di tipo merge |
Dyn_<Publisher>-<PublicationDatabase>-<Publication>-<GUID> |
Agente di lettura log |
<Publisher>-<PublicationDatabase>-<integer> |
Agente di merge per le sottoscrizioni pull |
<Publisher>-<PublicationDatabase>-<Publication>-<Subscriber>-<SubscriptionDatabase>-<integer> |
Agente di merge per le sottoscrizioni push |
<Publisher>-<PublicationDatabase>-<Publication>-<Subscriber>-<integer> |
Agente di distribuzione per le sottoscrizioni push |
<Publisher>-<PublicationDatabase>-<Publication>-<Subscriber>-<integer>1 |
Agente di distribuzione per le sottoscrizioni pull |
<Publisher>-<PublicationDatabase>-<Publication>-<Subscriber>-<SubscriptionDatabase>-<GUID>2 |
Agente di distribuzione per le sottoscrizioni push dei Sottoscrittori non SQL Server |
<Publisher>-<PublicationDatabase>-<Publication>-<Subscriber>-<integer> |
Agente di lettura coda |
[<Distributor>].<integer> |
1 Per le sottoscrizioni push a pubblicazioni Oracle, il nome del processo è <Publisher>-<Publisher> anziché <Publisher>-<PublicationDatabase>.
2 Per le sottoscrizioni pull a pubblicazioni Oracle, il nome del processo è <Publisher>-<DistributionDatabase> anziché <Publisher>-<PublicationDatabase>.
Durante la configurazione della replica si specificano gli account utilizzati per l'esecuzione degli agenti. Tutti i passaggi del processo, tuttavia, vengono eseguiti nel contesto di protezione di un proxy e pertanto la replica esegue internamente i mapping seguenti per gli account dell'agente specificati:
- Viene innanzitutto eseguito il mapping tra l'account e una credenziale utilizzando l'istruzione CREATE CREDENTIAL di Transact-SQL. I proxy di SQL Server Agent utilizzano le credenziali per archiviare le informazioni sugli account utente di Windows.
- Viene chiamata la stored procedure sp_add_proxy e la credenziale viene utilizzata per creare un proxy. Per ulteriori informazioni sui proxy, vedere Creazione di proxy di SQL Server Agent.
[!NOTA] Queste informazioni vengono fornite allo scopo di illustrare i processi richiesti per l'esecuzione degli agenti nel contesto di protezione appropriato. Non è in genere necessario interagire direttamente con le credenziali o i proxy creati.
Vedere anche
Concetti
Procedure consigliate per la protezione della replica
Protezione della cartella snapshot
Altre risorse
Considerazioni di protezione per la replica
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
12 dicembre 2006 |
|