Come posso sincronizzare i processi di SQL Server Agent tra gli host primari e secondari nell’istanza RDS per SQL Server Multi-AZ?
Dispongo di un database relazionale Amazon (Amazon RDS) per un'istanza Multi-AZ di Microsoft SQL Server. Desidero sincronizzare i processi di SQL Server Agent tra gli host primari e secondari nell’istanza.
Breve descrizione
Amazon RDS per SQL Server utilizza l'opzione Always On/Mirroring per la configurazione Multi-AZ dietro le quinte. SQL Server Agent archivia i processi nel database di sistema msdb. Questo database di sistema non viene replicato come parte dell'implementazione Multi-AZ. Pertanto, i processi di SQL Server Agent non vengono sincronizzati automaticamente. È necessario ricreare i processi sulla nuova istanza primaria dopo il failover. Tuttavia, i processi restano disponibili nella vecchia istanza primaria in cui sono stati originariamente creati. Se esegui il failback dell'istanza alla versione primaria precedente (dove sono stati inizialmente creati i processi), questi saranno comunque visualizzati. Per creare i processi in Multi-AZ, crea prima i processi nell'istanza primaria (attiva). Quindi, esegui il failover dell'istanza RDS e crea gli stessi processi sulla nuova istanza primaria.
Per evitare di creare manualmente i processi sulla nuova istanza primaria, attiva la replica dei processi di SQL Agent. Quando si attiva la replica dei processi nell'ambiente Multi-AZ, SQL Server Agent copia automaticamente i processi dall'host primario all'host secondario. Non è necessario creare i processi manualmente sulla nuova replica primaria perché sono stati sincronizzati tramite la funzionalità di replica dell'agente. I processi saranno disponibili in entrambe le repliche.
Per ulteriori informazioni, consulta Multi-AZ deployments for Amazon RDS for Microsoft SQL Server.
Nota: la seguente risoluzione non si applica ad Amazon RDS Custom per SQL Server.
Soluzione
Attiva la funzionalità di replica dell'agente SQL
Per attivare la replica dei processi di SQL Server Agent, esegui la seguente procedura con l'account amministratore sull'istanza primaria:
Importante: assicurati di eseguire questa procedura sull'istanza in cui sono disponibili tutti i processi dell'agente. Se l'istanza senza i processi dell'agente disponibili diventa quella primaria e si attiva questa funzionalità, i processi sull'istanza secondaria verranno eliminati. Inoltre, tutti i processi esistenti e quelli appena creati verranno replicati come parte di questa funzionalità.
EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'SQLAgentJob';
Verifica dell’attivazione della funzionalità di replica dell'agente SQL
Verifica che la funzionalità di replica sia attiva:
SELECT * from msdb.dbo.rds_fn_get_system_database_sync_objects();
Questa query restituisce SQLagentjob per object\ _class se la funzionalità di replica è attivata. Se la query non restituisce nulla, la funzionalità non è attiva.
Verifica di quando i processi nuovi e modificati sono stati sincronizzati l'ultima volta con il sistema secondario
Controlla il parametro last_sync_time della replica:
SELECT * from msdb.dbo.rds_fn_server_object_last_sync_time();
Nei risultati della query, se l'ora di sincronizzazione è successiva all'ora di aggiornamento o creazione del processo, il processo viene sincronizzato con il sistema secondario.
Nota: se non conosci l'ora di creazione o aggiornamento del processo, esegui prima la seguente query per recuperare il timestamp:
select name as 'JobName' ,JobStatus = CASE When enabled =1 Then 'Active' Else 'Inactive' END ,date_created As 'JobCreatedOn' ,date_modified as 'LastModified' from msdb..sysjobs
Nota: la sincronizzazione dei processi tra le repliche richiede alcuni minuti.
Se desideri eseguire il failover del database per verificare chei processi siano stati replicati, attendi innanzitutto l’aggiornamento di last_sync_time. Quindi, procedi con il failover Multi-AZ.
Categorie di processi supportate e non supportate per la replica dei processi dell'agente
I processi nelle seguenti categorie vengono replicati:
- [Senza categoria (locale)]
- [Senza categoria (multiserver)]
- [Senza categoria]
- Data Collector
- Database Engine Tuning Advisor
- Database Maintenance
- Full-Text
**Nota:**Vengono replicati solo i processi che utilizzano il tipo di passaggio T-SQL.
Le seguenti categorie non supportano la replica:
- Processi con tipi di passaggi SQL Server Integration Services (SSIS), SQL Server Reporting Services (SSRS), replica o PowerShell.
- Processi che utilizzano Database Mail e oggetti a livello di server.
Disattivazione della replica dei processi di SQL Server Agent
Per disattivare la replica dei processi di SQL Server Agent, esegui il comando seguente:
EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = '';
Dopo avere disattivato la replica, le modifiche ai processi esistenti e appena creati non verranno più sincronizzate con l'altra replica.
Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa