Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden erweiterter Datenereignisse mit Amazon RDS für Microsoft SQL Server.
Sie können erweiterte Ereignisse in Microsoft SQL Server verwenden, um Informationen zum Debuggen und zur Fehlerbehebung für Amazon RDS für SQL Server zu erfassen. Erweiterte Ereignisse ersetzen SQL Trace und Server Profiler, die von Microsoft als veraltet aussortiert wurden. Erweiterte Ereignisse ähneln Profiler-Traces, haben jedoch eine genauere Kontrolle über die nachverfolgten Ereignisse. Erweiterte Ereignisse werden für SQL Server-Versionen 2016 und höher auf Amazon RDS unterstützt. Weitere Informationen finden Sie unter Übersicht über erweiterte Ereignisse
Erweiterte Ereignisse werden automatisch für Benutzer mit Master-Benutzerrechten in Amazon RDS für SQL Server aktiviert.
Themen
Einschränkungen und Empfehlungen
Wenn Sie erweiterte Ereignisse von RDS für SQL Server verwenden, gelten die folgenden Einschränkungen:
-
Erweiterte Ereignisse werden nur für die Enterprise und Standard Editions unterstützt.
-
Sie können standardmäßige erweiterte Ereignissitzungen nicht ändern.
-
Stellen Sie sicher, dass Sie die Sitzungsspeicherpartition auf einstelle
NONE. -
Der Aufbewahrungsmodus für Sitzungsereignisse kann entweder
ALLOW_SINGLE_EVENT_LOSSoderALLOW_MULTIPLE_EVENT_LOSSsein. -
Ereignisverfolgung für Windows (ETW) -Ziele wird nicht unterstützt.
-
Stellen Sie sicher, dass sich die Dateiziele im Verzeichnis
D:\rdsdbdata\logbefinden. -
Um zusammengehörige Ziele zu paaren, setzen Sie die
respond_to_memory_pressure-Eigenschaft auf1. -
Der Zielspeicher des Ringpuffers darf nicht größer als 4 MB sein.
-
Die folgenden Aktionen werden nicht unterstützt:
-
debug_break -
create_dump_all_threads -
create_dump_single_threads
-
-
Das
rpc_completedEreignis wird in den folgenden Versionen und später unterstützt: 15.0.4083.2, 14.0.3370.1, 13.0.5865.1, 12.0.6433.1, 11.0.7507.2.
Konfigurieren von erweiterten Ereignissen auf RDS für SQL Server
Auf RDS für SQL Server können Sie die Werte bestimmter Parameter von erweiterten Ereignissitzungen konfigurieren. In der folgenden Tabelle werden die konfigurierbaren Parameter beschrieben.
| Parametername | Beschreibung | RDS-Standardwert | Mindestwert | Maximaler Wert |
|---|---|---|---|---|
xe_session_max_memory |
Angabe der maximalen Speichermenge, die der Sitzung für die Ereignispufferung zugewiesen werden soll. Dieser Wert entspricht der max_memory-Einstellung der Ereignissitzung. |
4 MB | 4 MB | 8 MB |
xe_session_max_event_size |
Angabe der maximalen Speichergröße an, die für große Ereignisse zulässig ist. Dieser Wert entspricht der max_event_size-Einstellung der Ereignissitzung. |
4 MB | 4 MB | 8 MB |
xe_session_max_dispatch_latency |
Angabe der Dauer der Pufferung von Ereignissen im Speicher, bevor sie an erweiterte Ereignissitzungsziele abgegeben werden. Dieser Wert entspricht der max_dispatch_latency-Einstellung der Ereignissitzung. |
30 Sekunden | 1 Sekunde | 30 Sekunden |
xe_file_target_size |
Festlegung der maximalen Größe des Dateiziels. Dieser Wert entspricht der max_file_size-Einstellung des Dateiziels. |
100 MB | 10 MB | 1 GB |
xe_file_retention |
Angabe der Aufbewahrungszeit für Dateien in Tagen, die von den Dateizielen von Ereignissitzungen generiert werden. | 7 Tage | 0 Tage | 7 Tage |
Anmerkung
Wenn Sie xe_file_retention auf Null setzen, werden .xel-Dateien automatisch entfernt, nachdem die Sperre für diese Dateien von SQL Server aufgehoben wurde. Die Sperre wird aufgehoben, wenn eine .xel-Datei die in eingestellte Größenbeschränkung erreich xe_file_target_size.
Sie können die in rdsadmin.dbo.rds_show_configuration gespeicherte Prozedur verwenden, um die aktuellen Werte dieser Parameter anzuzeigen. Verwenden Sie beispielsweise die folgende SQL-Anweisung, um die aktuelle Einstellung von anzuzeige xe_session_max_memory.
exec rdsadmin.dbo.rds_show_configuration 'xe_session_max_memory'
Sie können die in rdsadmin.dbo.rds_set_configuration gespeicherte Prozedur verwenden, um sie zu ändern. Verwenden Sie beispielsweise die folgende SQL-Anweisung, um xe_session_max_memory auf 4 MB festzulegen.
exec rdsadmin.dbo.rds_set_configuration 'xe_session_max_memory', 4
Überlegungen zu Multi-AZ-Bereitstellungen
Wenn Sie eine erweiterte Ereignissitzung auf einer primären DB-Instance erstellen, wird sie nicht auf das Standby-Replikat übertragen. Sie können einen Failover haben und die erweiterte Ereignissitzung für die neue primäre DB-Instance erstellen. Oder Sie können die Multi-AZ-Konfiguration entfernen und dann erneut hinzufügen, um die erweiterte Ereignissitzung auf das Standby-Replikat zu übertragen. RDS stoppt alle nicht standardmäßigen erweiterten Ereignissitzungen auf dem Standby-Replikat, so dass diese Sitzungen keine Ressourcen im Standby verbrauchen. Nachdem ein Standby-Replikat zur primären DB-Instance wurde, sollten Sie daher die erweiterten Ereignissitzungen manuell auf der neuen primären DB-Instance starten.
Anmerkung
Dieser Ansatz gilt sowohl für Always On-Verfügbarkeitsgruppen als auch für die Datenbankspiegelung.
Sie können auch einen SQL Server Agent-Auftrag verwenden, um das Standby-Replikat nachzuverfolgen und die Sitzungen zu starten, wenn der Standby- zur primären DB-Instance wird. Verwenden Sie beispielsweise die folgende Abfrage in Ihrem Auftragsschritt für den SQL Server-Agenten, um Ereignissitzungen auf einer primären DB-Instance neu zu starten.
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
Diese Abfrage startet die Ereignissitzungen xe1 und xe2 auf einer primären DB-Instance neu, wenn sich diese Sitzungen in einem gestoppten Zustand befinden. Sie können dieser Abfrage auch einen Zeitplan mit einem passenden Intervall hinzufügen.
Abfragen von erweiterten Ereignisdateien
Sie können entweder SQL Server Management Studio oder die sys.fn_xe_file_target_read_file-Funktion verwenden, um Daten aus erweiterten Ereignissen anzuzeigen, die Dateiziele verwenden. Weitere Informationen zu dieser Funktion finden Sie in der Microsoft-Dokumentation unter sys.fn_xe_file_target_read_file (Transact-SQL)
Dateiziele erweiterter Ereignisse können nur Dateien in das D:\rdsdbdata\log-Verzeichnis auf RDS für SQL Server schreiben.
Verwenden Sie beispielsweise die folgende SQL-Abfrage, um den Inhalt aller Dateien von erweiterten Ereignissitzungen aufzulisten, deren Namen mit beginne xe.
SELECT * FROM sys.fn_xe_file_target_read_file('d:\rdsdbdata\log\xe*', null,null,null);