Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di eventi estesi con Amazon RDS per Microsoft SQL Server
Puoi utilizzare gli eventi estesi in Microsoft SQL Server per acquisire informazioni di debug e risoluzione dei problemi per Amazon RDS for Server. SQL Gli eventi estesi sostituiscono SQL Trace e Server Profiler, che sono stati dichiarati obsoleti da Microsoft. Gli eventi estesi sono simili alle tracce del profiler, ma hanno un controllo più granulare sugli eventi tracciati. Gli eventi estesi sono supportati per le versioni SQL Server 2016 e successive su AmazonRDS. Per ulteriori informazioni, consulta Panoramica degli eventi estesi
Gli eventi estesi vengono attivati automaticamente per gli utenti con privilegi di utente principale in Amazon RDS for SQL Server.
Argomenti
Limitazioni e consigli
Quando si utilizzano eventi estesi su RDS for SQL Server, si applicano le seguenti limitazioni:
-
Gli eventi estesi sono supportati solo per le edizioni Enterprise e Standard.
-
Non è possibile modificare le sessioni degli eventi estesi predefinite.
-
Assicurati di impostare la modalità di partizione della memoria della sessione su
NONE
. -
La modalità di conservazione degli eventi della sessione può essere
ALLOW_SINGLE_EVENT_LOSS
oALLOW_MULTIPLE_EVENT_LOSS
. -
Gli obiettivi Event Tracing for Windows (ETW) non sono supportati.
-
Assicurati che le destinazioni dei file siano nella directory
D:\rdsdbdata\log
. -
Per le destinazioni corrispondenti alle coppie, imposta la proprietà
respond_to_memory_pressure
su1
. -
La memoria di destinazione del buffer ring non può essere maggiore di 4 MB.
-
Le seguenti azioni non sono supportate:
-
debug_break
-
create_dump_all_threads
-
create_dump_single_threads
-
-
L'evento
rpc_completed
è supportato nelle seguenti versioni: 15.0.4083.2, 14.0.3370.1, 13.0.5865.1, 12.0.6433.1, 11.0.7507.2 e nelle versioni successive.
Configurazione di eventi estesi su for Server RDS SQL
Su RDS for SQL Server, puoi configurare i valori di determinati parametri delle sessioni di eventi estese. Nella tabella seguente vengono descritti i parametri configurabili.
Nome del parametro | Descrizione | RDSvalore predefinito | Valore minimo | Valore massimo |
---|---|---|---|---|
xe_session_max_memory |
Specifica la quantità massima di memoria da allocare alla sessione per il buffering degli eventi. Questo valore corrisponde all'impostazione max_memory della sessione evento. |
4 MB | 4 MB | 8 MB |
xe_session_max_event_size |
Specifica la dimensione massima di memoria consentita per eventi di grandi dimensioni. Questo valore corrisponde all'impostazione max_event_size della sessione evento. |
4 MB | 4 MB | 8 MB |
xe_session_max_dispatch_latency |
Specifica il tempo in cui gli eventi vengono memorizzati nel buffer prima di essere inviati alle destinazioni delle sessioni degli eventi estesi. Questo valore corrisponde all'impostazione max_dispatch_latency della sessione evento. |
30 secondi | 1 secondo | 30 secondi |
xe_file_target_size |
Specifica la dimensione massima della destinazione file. Questo valore corrisponde all'impostazione max_file_size della destinazione del file. |
100 MB | 10 MB | 1 GB |
xe_file_retention |
Specifica il tempo di conservazione (in giorni) per i file generati dalle destinazioni file delle sessioni eventi. | 7 giorni | 0 giorni | 7 giorni |
Nota
L'impostazione xe_file_retention
su zero causa la rimozione automatica dei file.xel dopo il rilascio del blocco su questi file da parte SQL del Server. Il blocco viene rilasciato ogni volta che un file con estensione .xel raggiunge il limite di dimensione impostato in xe_file_target_size
.
È possibile utilizzare la stored procedure rdsadmin.dbo.rds_show_configuration
per visualizzare i valori correnti di questi parametri. Ad esempio, utilizzare l'SQListruzione seguente per visualizzare l'impostazione corrente di. xe_session_max_memory
exec rdsadmin.dbo.rds_show_configuration 'xe_session_max_memory'
È possibile utilizzare la stored procedure rdsadmin.dbo.rds_set_configuration
per modificarle. Ad esempio, utilizzare la seguente SQL istruzione per xe_session_max_memory
impostare su 4 MB.
exec rdsadmin.dbo.rds_set_configuration 'xe_session_max_memory', 4
Considerazioni per le implementazioni Multi-AZ
Quando si crea una sessione per un evento esteso in un'istanza DB primaria, la sessione non viene propagata alla replica in standby. È possibile eseguire il failover e creare la sessione dell’evento esteso nella nuova istanza DB primaria. In alternativa, è possibile rimuovere e aggiungere nuovamente la configurazione Multi-AZ per propagare la sessione di eventi estesi alla replica in attesa. RDSinterrompe tutte le sessioni di eventi estese non predefinite sulla replica in standby, in modo che tali sessioni non consumino risorse in standby. Per questo motivo, dopo che una replica in standby diventa l'istanza DB primaria, assicurarsi di avviare manualmente le sessioni dell’evento esteso sul nuovo primario.
Nota
Questo approccio si applica sia ai gruppi di disponibilità Always On che al mirroring del database.
È inoltre possibile utilizzare un processo di SQL Server Agent per tenere traccia della replica in standby e avviare le sessioni se la modalità di standby diventa la principale. Ad esempio, utilizza la seguente query nella fase di processo di SQL Server Agent per riavviare le sessioni di eventi su un'istanza DB primaria.
BEGIN IF (DATABASEPROPERTYEX('rdsadmin','Updateability')='READ_WRITE' AND DATABASEPROPERTYEX('rdsadmin','status')='ONLINE' AND (DATABASEPROPERTYEX('rdsadmin','Collation') IS NOT NULL OR DATABASEPROPERTYEX('rdsadmin','IsAutoClose')=1) ) BEGIN IF NOT EXISTS (SELECT 1 FROM sys.dm_xe_sessions WHERE name='xe1') ALTER EVENT SESSION xe1 ON SERVER STATE=START IF NOT EXISTS (SELECT 1 FROM sys.dm_xe_sessions WHERE name='xe2') ALTER EVENT SESSION xe2 ON SERVER STATE=START END END
Questa query riavvia le sessioni di evento xe1
e xe2
su un'istanza DB primaria se queste sessioni sono in uno stato interrotto. È inoltre possibile aggiungere una pianificazione con un intervallo conveniente a questa query.
Esecuzione di query sui file di eventi estesi
È possibile utilizzare SQL Server Management Studio o la sys.fn_xe_file_target_read_file
funzione per visualizzare i dati di eventi estesi che utilizzano destinazioni di file. Per ulteriori informazioni su questa funzione, vedere sys.fn_xe_file_target_read_file
I target di file di eventi estesi possono solo scrivere file nella directory su for Server. D:\rdsdbdata\log
RDS SQL
Ad esempio, utilizzate la seguente SQL query per elencare il contenuto di tutti i file delle sessioni di eventi estese i cui nomi iniziano conxe
.
SELECT * FROM sys.fn_xe_file_target_read_file('d:\rdsdbdata\log\xe*', null,null,null);