Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:Azure SQL-Datenbank
Azure SQL Managed Instance
Bei der Azure SQL-Datenbank-Überwachung werden Datenbankereignisse nachverfolgt und in Überwachungsprotokolle in Ihrem Azure-Speicherkonto geschrieben oder für die Downstreamverarbeitung und -analyse an Event Hub bzw. Log Analytics gesendet.
Benennungskonventionen
Blobüberwachung
Überwachungsprotokoll, die in Azure Blob Storage gespeichert werden, werden in einem Container namens sqldbauditlogs im Azure-Speicherkonto gespeichert. Die Verzeichnishierarchie innerhalb des Containers weist das Format <ServerName>/<DatabaseName>/<AuditName>/<Date>/ auf. Die Dateinamen für Blobs weisen das Format <CreationTime>_<FileNumberInSession>.xel auf. Hierbei entspricht CreationTime dem UTC-Format hh_mm_ss_ms, und FileNumberInSession ist ein laufender Index, der für den Fall vorhanden ist, dass Sitzungsprotokolle sich über mehrere Blobdateien erstrecken.
Für die Datenbank Database1 unter Server1 wäre beispielsweise folgender Pfad gültig:
Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel
Überwachungsprotokolle für schreibgeschützte Replikate werden im selben Container gespeichert. Die Verzeichnishierarchie innerhalb des Containers weist das Format <ServerName>/<DatabaseName>/<AuditName>/<Date>/RO/ auf. Der Name der Blobdatei weist das gleiche Format auf. Die Überwachungsprotokolle für schreibgeschützte Replikate werden im selben Container gespeichert.
Ereignis-Hub
Überwachungsereignisse werden in den Namespace und Event Hub geschrieben, der während der Konfiguration festgelegt wurde, im Textkörper von Apache Avro-Ereignissen erfasst und im JSON-Format mit UTF-8-Codierung gespeichert. Zum Lesen der Überwachungsprotokolle können Sie Avro Tools oder ähnliche Tools verwenden, die dieses Format verarbeiten können.
Log Analytics
Überwachungsereignisse werden an folgende Orte geschrieben: in den Log Analytics-Arbeitsbereich, der während der Überwachungskonfiguration definiert wurde, in die AzureDiagnostics-Tabelle mit der Kategorie SQLSecurityAuditEvents und in die Tabelle mit der Kategorie DevOpsOperationsAudit für Microsoft-Support-Vorgänge. Weitere nützliche Informationen zu Log Analytics-Suchsprache und -Suchbefehlen finden Sie unter Referenz zur Log Analytics-Suche.
Felder eines Überwachungsprotokolls
| Name (Blob) | Name (Event Hubs/Log Analytics) | BESCHREIBUNG | Blobtyp | Event Hubs-/Log Analytics-Typ |
|---|---|---|---|---|
action_id |
action_id_s |
ID der Aktion | varchar(4) |
string |
action_name |
action_name_s |
Name der Aktion | – | string |
additional_information |
additional_information_s |
Zusätzliche Informationen zum Ereignis (im XML-Format gespeichert) | nvarchar(4000) |
string |
affected_rows |
affected_rows_d |
Anzahl der von der Abfrage betroffenen Zeilen | bigint |
int |
application_name |
application_name_s |
Name der Clientanwendung | nvarchar(128) |
string |
audit_schema_version |
audit_schema_version_d |
Immer 1 | int |
int |
class_type |
class_type_s |
Typ der überwachbaren Entität, für die die Überwachung ausgeführt wird | varchar(2) |
string |
class_type_desc |
class_type_description_s |
Beschreibung der überwachbaren Entität, für die die Überwachung ausgeführt wird | – | string |
client_ip |
client_ip_s |
Quell-IP-Adresse der Clientanwendung | nvarchar(128) |
string |
connection_id |
– | ID der Verbindung auf dem Server | GUID |
– |
data_sensitivity_information |
data_sensitivity_information_s |
Informationstypen und Vertraulichkeitsbezeichnungen, die von der überwachten Abfrage zurückgegeben werden (je nach klassifizierter Spalte in der Datenbank) Weitere Informationen: Azure SQL-Datenbank: Datenermittlung und -klassifizierung | nvarchar(4000) |
string |
database_name |
database_name_s |
Datenbankkontext, in dem die Aktion durchgeführt wurde | sysname |
string |
database_principal_id |
database_principal_id_d |
ID des Datenbankbenutzerkontexts, in dem die Aktion durchgeführt wurde | int |
int |
database_principal_name |
database_principal_name_s |
Name des Datenbankbenutzerkontexts, in dem die Aktion durchgeführt wurde | sysname |
string |
duration_milliseconds |
duration_milliseconds_d |
Ausführungsdauer der Abfrage in Millisekunden | bigint |
int |
event_time |
event_time_t |
Datum und Uhrzeit, zu dem die überwachbare Aktion ausgelöst wurde | datetime2 |
datetime |
host_name |
– | Clienthostname | string |
– |
is_column_permission |
is_column_permission_s |
Flag, das angibt, ob die Berechtigung auf Benutzerebene erteilt wurde 1 = ja, 0 = nein | bit |
string |
| – | is_server_level_audit_s |
Flag, das angibt, ob die Überwachung auf Serverebene durchgeführt wird | – | string |
object_ id |
object_id_d |
ID der Entität, für die die Überwachung durchgeführt wurde Dazu zählen Serverobjekte, Datenbanken, Datenbankobjekte und Schemaobjekte. 0, wenn die Entität den Server selbst darstellt oder die Überwachung nicht auf Objektebene durchgeführt wurde | int |
int |
object_name |
object_name_s |
Name der Entität, für die die Überwachung durchgeführt wurde Dazu zählen Serverobjekte, Datenbanken, Datenbankobjekte und Schemaobjekte. 0, wenn die Entität den Server selbst darstellt oder die Überwachung nicht auf Objektebene durchgeführt wurde | sysname |
string |
obo_middle_tier_app_id |
obo_middle_tier_app_id_s |
Die Anwendungs-ID der Middle-Tier-Anwendung, die sich mit der Azure SQL-Datenbank über OBO Access verbunden hat. | varchar(120) |
string |
permission_bitmask |
permission_bitmask_s |
Zeigt die gewährten, verweigerten oder widerrufenen Berechtigungen an (falls verfügbar) | varbinary(16) |
string |
response_rows |
response_rows_d |
Anzahl der im Resultset zurückgegebenen Zeilen | bigint |
int |
schema_name |
schema_name_s |
Schemakontext, in dem die Aktion durchgeführt wurde
NULL für Prüfungen, die außerhalb eines Schemas stattfinden |
sysname |
string |
| – | securable_class_type_s |
Securables Objekt, das auf das geprüfte class_type Objekt abgebildet wird |
– | string |
sequence_group_id |
sequence_group_id_g |
Eindeutiger Bezeichner | varbinary |
GUID |
sequence_number |
sequence_number_d |
Hält die Reihenfolge der Datensätze innerhalb eines einzelnen Überwachungsdatensatzes fest, der zu groß für den Schreibpuffer für Überwachungen ist. Azure SQL-Datenbank Auditing speichert 4000 Zeichen an Daten für Zeichenfelder in einem Audit-Datensatz. Wenn mehr als 4.000 Zeichen vorhanden sind, werden alle Daten abgeschnitten, die über die ersten 4.000 Zeichen hinausgehen. | int |
int |
server_instance_name |
server_instance_name_s |
Name der Serverinstanz, in der die Überwachung durchgeführt wurde | sysname |
string |
server_principal_id |
server_principal_id_d |
ID des Anmeldekontexts, in dem die Aktion durchgeführt wurde | int |
int |
server_principal_name |
server_principal_name_s |
Aktuelle Anmeldung | sysname |
string |
server_principal_sid |
server_principal_sid_s |
Aktuelle Anmelde-SID | varbinary |
string |
session_id |
session_id_d |
ID der Sitzung, in der das Ereignis aufgetreten ist | smallint |
int |
session_server_principal_name |
session_server_principal_name_s |
Dienstprinzipal für die Sitzung | sysname |
string |
statement |
statement_s |
Ausgeführte T-SQL-Anweisung (falls verfügbar) | nvarchar(4000) |
string |
succeeded |
succeeded_s |
Gibt an, ob die Aktion, die das Ereignis ausgelöst hat, erfolgreich war Für Ereignisse, die keine Anmelde- oder Batchereignisse sind, wird nur erfasst, ob die Berechtigungsüberprüfung erfolgreich war oder nicht. Der Vorgang wird nicht erfasst. 1 = Erfolg, 0 = Fehler | bit |
string |
target_database_principal_id |
target_database_principal_id_d |
Das Datenbankprinzip, auf dem die Operation GRANT//DENYREVOKE ausgeführt wird. 0, falls nicht anwendbar. |
int |
int |
target_database_principal_name |
target_database_principal_name_s |
Zielbenutzer der Aktion
NULL falls nicht zutreffend |
string |
string |
target_server_principal_id |
target_server_principal_id_d |
Serverprinzipal, für den der GRANT/DENY/REVOKE Vorgang ausgeführt wird. Gibt 0 zurück, falls nicht zutreffend |
int |
int |
target_server_principal_name |
target_server_principal_name_s |
Zielanmeldung der Aktion
NULL falls nicht zutreffend |
sysname |
string |
target_server_principal_sid |
target_server_principal_sid_s |
SID der Zielanmeldung
NULL falls nicht zutreffend |
varbinary |
string |
transaction_id |
transaction_id_d |
nur SQL Server (ab 2016), 0 für Azure SQL-Datenbank | bigint |
int |
user_defined_event_id |
user_defined_event_id_d |
Benutzerdefinierte Ereignis-ID, die als Argument übergeben wird sp_audit_write.
NULL für Systemereignisse (Standard) und ungleich Null für benutzerdefinierte Ereignisse. Weitere Informationen: sp_audit_write (Transact-SQL) |
smallint |
int |
user_defined_information |
user_defined_information_s |
Benutzerdefinierte Informationen wurden als Argument an sp_audit_writeübergeben.
NULL für Systemereignisse (Standard) und ungleich Null für benutzerdefinierte Ereignisse. Weitere Informationen: sp_audit_write (Transact-SQL) |
nvarchar(4000) |
string |
Auditing in Azure Synapse Analytics
Für Informationen zum Audit-Log-Format in Azure Synapse Analytics siehe Audit log format.
Nächste Schritte
Lesen Sie mehr zur Überwachung in Azure SQL-Datenbank.