تنسيق سجل تدقيق قاعدة بيانات SQL

ينطبق على: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

تدقيق Azure SQL Database يتتبع أحداث قاعدة البيانات ويكتبها في سجل تدقيق في حساب تخزين Azure الخاص بك، أو يرسلها إلى Event Hub أو Log Analytics للمعالجة النهائية والتحليل.

تقاليد التسمية

تدقيق النقطة

يتم تخزين سجلات التدقيق المخزنة في تخزين Azure Blob في حاوية باسم sqldbauditlogs في حساب تخزين Azure. شكل التسلسل الهرمي للدليل داخل الحاوية <ServerName>/<DatabaseName>/<AuditName>/<Date>/. تنسيق اسم ملف Blob هو <CreationTime>_<FileNumberInSession>.xel، حيث يكون CreationTime بتنسيق UTC hh_mm_ss_ms وFileNumberInSession هو فهرس قيد التشغيل في حالة امتداد سجلات الجلسة عبر ملفات Blob متعددة.

على سبيل المثال، بالنسبة لقاعدة البيانات Database1 الموجودة على Server1، يعد ما يلي مساراً صالحاً محتملاً:

Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel

يتم تخزين سجلات تدقيقالنسخ المتماثلة للقراءة فقط في نفس الحاوية. شكل التسلسل الهرمي للدليل داخل الحاوية <ServerName>/<DatabaseName>/<AuditName>/<Date>/RO/. يشترك اسم ملف Blob في نفس التنسيق. يتم تخزين سجلات تدوين النسخ المتماثلة للقراءة فقط في نفس الحاوية.

Event Hub

تتم كتابة أحداث التدقيق في مساحة الاسم ومركز الأحداث اللذين تم تحديدهما أثناء تكوين التدقيق، ويتم التقاطها في نص أحداث Apache Avro وتخزينها باستخدام تنسيق JSON مع ترميز UTF-8. لقراءة سجلات التدقيق، يمكنك استخدام Avro Tools أو أدوات مشابهة تعالج هذا التنسيق.

Log Analytics

تتم كتابة أحداث التدقيق في مساحة عمل Log Analytics المحددة أثناء تكوين التدقيق، إلى AzureDiagnostics الجدول مع الفئة SQLSecurityAuditEvents. للحصول على معلومات إضافية مفيدة حول لغة وأوامر البحث في Log Analytics، راجع مرجع بحث Log Analytics.

تدقيق الحقول

الاسم (كائن ثنائي كبير الحجم) الاسم (مراكز الأحداث/تحليلات السجل) الوصف نوع الكائن الثنائي كبير الحجم نوع مراكز الأحداث/تحليلات السجل
action_id action_id_s معرّف الإجراء varchar(4) سلسلة
action_name action_name_s اسم العمل غير متوفر سلسلة
additional_information additional_information_s أي معلومات إضافية حول الحدث، مخزنة بتنسيق XML nvarchar(4000) سلسلة
affected_rows affected_rows_d عدد الصفوف المتأثرة بالاستعلام عدد صحيح كبير Int
application_name application_name_s اسم تطبيق العميل nvarchar(128) سلسلة
audit_schema_version audit_schema_version_d دائماً 1 Int Int
class_type class_type_s نوع الكيان الخاضع للتدقيق الذي تتم فيه المراجعة varchar(2) سلسلة
class_type_desc class_type_description_s وصف الكيان الخاضع للتدقيق الذي تتم فيه المراجعة غير متوفر سلسلة
client_ip client_ip_s IP المصدر لتطبيق العميل nvarchar(128) سلسلة
connection_id غير متوفر معرف الاتصال في الخادم GUID غير متوفر
data_sensitivity_information data_sensitivity_information_s أنواع المعلومات وعلامات الحساسية التي يتم إرجاعها بواسطة الاستعلام المدقق، بناءً على الأعمدة المصنفة في قاعدة البيانات. تعرف على المزيد حول اكتشاف بيانات Azure SQL Database وتصنيفها nvarchar(4000) سلسلة
database_name database_name_s سياق قاعدة البيانات الذي حدث فيه الإجراء sysname سلسلة
database_principal_id database_principal_id_d معرّف سياق مستخدم قاعدة البيانات الذي يتم تنفيذ الإجراء فيه Int Int
database_principal_name database_principal_name_s اسم سياق مستخدم قاعدة البيانات الذي يتم تنفيذ الإجراء فيه sysname سلسلة
duration_milliseconds duration_milliseconds_d مدة تنفيذ الاستعلام بالمللي ثانية عدد صحيح كبير Int
event_time event_time_t تاريخ ووقت إطلاق الإجراء القابل للتدقيق datetime2 التاريخ والوقت
host_name غير متوفر اسم مضيف العميل سلسلة غير متوفر
is_column_permission is_column_permission_s علامة تشير إلى ما إذا كان هذا إذناً على مستوى العمود. 1 = true, 0 = false بت سلسلة
غير متوفر is_server_level_audit_s علامة تشير إلى ما إذا كان هذا التدقيق على مستوى الخادم غير متوفر سلسلة
object_ id object_id_d معرّف الكيان الذي حدثت فيه عملية التدقيق. يتضمن ذلك: كائنات الخادم وقواعد البيانات وكائنات قاعدة البيانات وكائنات المخطط. 0 إذا كان الكيان هو الخادم نفسه أو إذا لم يتم إجراء التدقيق على مستوى الكائن Int Int
object_name object_name_s اسم الكيان الذي تم إجراء التدقيق عليه. يتضمن ذلك: كائنات الخادم وقواعد البيانات وكائنات قاعدة البيانات وكائنات المخطط. 0 إذا كان الكيان هو الخادم نفسه أو إذا لم يتم إجراء التدقيق على مستوى الكائن sysname سلسلة
permission_bitmask permission_bitmask_s عند الاقتضاء، يعرض الأذونات التي تم منحها أو رفضها أو إلغاؤها varbinary(16) سلسلة
response_rows response_rows_d عدد الصفوف التي تم إرجاعها في مجموعة النتائج عدد صحيح كبير Int
schema_name schema_name_s سياق المخطط الذي حدث فيه الإجراء. NULL لعمليات التدقيق التي تحدث خارج المخطط sysname سلسلة
غير متوفر نوع_نوع_ قابل للتأمين كائن قابل للتأمين يعيّن فئة class_type التي يتم تدقيقها غير متوفر سلسلة
sequence_group_id sequence_group_id_g معرف فريد varbinary GUID
sequence_number sequence_number_d يتتبع تسلسل السجلات داخل سجل تدقيق واحد كان كبيراً جدّاً بحيث لا يمكن احتواؤه في مخزن الكتابة المؤقت لعمليات التدقيق Int Int
server_instance_name server_instance_name_s اسم مثيل الخادم حيث تم إجراء التدقيق sysname سلسلة
server_principal_id server_principal_id_d معرّف سياق تسجيل الدخول الذي يتم تنفيذ الإجراء فيه Int Int
server_principal_name server_principal_name_s تسجيل الدخول الحالي sysname سلسلة
server_principal_sid server_principal_sid_s تسجيل الدخول الحالي SID varbinary سلسلة
session_id session_id_d معرّف الجلسة التي وقع فيها الحدث Smallint Int
session_server_principal_name session_server_principal_name_s أساس الخادم للجلسة sysname سلسلة
بيان statement_s جملة T-SQL التي تم تنفيذها (إن وجدت) nvarchar(4000) سلسلة
نجح succeeded_s يشير إلى ما إذا كان الإجراء الذي أدى إلى تشغيل الحدث قد نجح. بالنسبة للأحداث بخلاف تسجيل الدخول والدُفعة، يُعلم هذا فقط ما إذا كان التحقق من الإذن قد نجح أو فشل، وليس العملية. 1 = success, 0 = fail بت سلسلة
target_database_principal_id target_database_principal_id_d أساس قاعدة البيانات يتم تنفيذ عملية GRANT/DENY/REVOKE على. 0 إذا لم يكن قابلاً للتطبيق int Int
target_database_principal_name target_database_principal_name_s المستخدم المستهدف للعمل. NULL إذا لم يكن قابلاً للتطبيق سلسلة سلسلة
target_server_principal_id target_server_principal_id_d أساس الخادم الذي يتم تنفيذ عملية GRANT/DENY/REVOKE عليه. إرجاع 0 إذا لم يكن قابلاً للتطبيق Int Int
target_server_principal_name target_server_principal_name_s الهدف تسجيل الدخول للعمل. NULL إذا لم يكن قابلاً للتطبيق sysname سلسلة
target_server_principal_sid target_server_principal_sid_s SID لتسجيل الدخول الهدف. NULL إذا لم يكن قابلاً للتطبيق varbinary سلسلة
transaction_id transaction_id_d SQL Server فقط (بدءاً من 2016) - 0 لـ Azure SQL Database عدد صحيح كبير Int
user_defined_event_id user_defined_event_id_d تم تمرير معرف الحدث المحدد من قِبل المستخدم كوسيطة لـ sp_audit_write. NULL لأحداث النظام (افتراضي) وغير الصفر للحدث المعرّف من قِبل المستخدم. لمزيد من المعلومات، راجع sp_audit_write (Transact-SQL) Smallint Int
user_defined_information user_defined_information_s تم تمرير المعلومات التي يحددها المستخدم كوسيطة لـ sp_audit_write. NULL لأحداث النظام (افتراضي) وغير الصفر للحدث المعرّف من قِبل المستخدم. لمزيد من المعلومات، راجع sp_audit_write (Transact-SQL) nvarchar(4000) سلسلة

الخطوات التالية

تعرف على المزيد حول تدقيق Azure SQL Database.