SQL Veritabanı denetim günlüğü biçimi

Şunlar için geçerlidir: Azure SQL Veritabanı Azure SQL Yönetilen Örneği Azure Synapse Analytics

Azure SQL Veritabanı denetimi veritabanı olaylarını izler ve Bunları Azure depolama hesabınızdaki bir denetim günlüğüne yazar ya da aşağı akış işleme ve analiz için Event Hub'a veya Log Analytics'e gönderir.

Adlandırma kuralları

Blob denetimi

Azure Blob depolamada depolanan denetim günlükleri, Azure depolama hesabında adlı sqldbauditlogs bir kapsayıcıda depolanır. Kapsayıcı içindeki dizin hiyerarşisi biçimindedir <ServerName>/<DatabaseName>/<AuditName>/<Date>/. Blob dosya adı biçimi , <CreationTime>_<FileNumberInSession>.xelutc CreationTime biçimindedir hh_mm_ss_ms ve FileNumberInSession oturum günlüklerinin birden çok Blob dosyasına yayılması durumunda çalışan bir dizindir.

Örneğin, aşağıdaki veritabanı Database1Server1 için olası geçerli bir yoldur:

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

Salt okunur Çoğaltmalar denetim günlükleri aynı kapsayıcıda depolanır. Kapsayıcı içindeki dizin hiyerarşisi biçimindedir <ServerName>/<DatabaseName>/<AuditName>/<Date>/RO/. Blob dosya adı aynı biçimi paylaşır. Salt Okunur Çoğaltmaların Denetim Günlükleri aynı kapsayıcıda depolanır.

Olay Hub'ı

Denetim olayları denetim yapılandırması sırasında tanımlanan ad alanına ve olay hub'ına yazılır; Apache Avro olaylarının gövdesinde yakalanır ve UTF-8 kodlamasıyla JSON biçimlendirmesi kullanılarak depolanır. Denetim günlüklerini okumak için Avro Araçları'nı veya bu biçimi işleyebilen benzer araçları kullanabilirsiniz.

Log Analytics

Denetim olayları denetim yapılandırması sırasında tanımlanan Log Analytics çalışma alanında AzureDiagnostics tablosuna SQLSecurityAuditEvents kategorisiyle yazılır. Log Analytics arama dili ve komutları hakkında diğer yararlı bilgiler için bkz. Log Analytics arama başvurusu.

Denetim günlüğü alanları

Ad (blob) Ad (Event Hubs/Log Analytics) Description Blob türü Event Hubs/Log Analytics türü
action_id action_id_s Eylemin kimliği varchar(4) string
action_name action_name_s Eylemin adı Yok string
additional_information additional_information_s Olay hakkında XML olarak depolanan ek bilgiler nvarchar(4000) string
affected_rows affected_rows_d Sorgudan etkilenen satır sayısı bigint int
Uygulama_adı application_name_s İstemci uygulamasının adı nvarchar(128) string
audit_schema_version audit_schema_version_d Her zaman 1 int int
class_type class_type_s Denetimin gerçekleştiği denetlenebilir varlık türü varchar(2) string
class_type_desc class_type_description_s Denetimin gerçekleştiği denetlenebilir varlığın açıklaması Yok string
client_ip client_ip_s İstemci uygulamasının kaynak IP adresi nvarchar(128) string
connection_id Yok Sunucudaki bağlantının kimliği GUID Yok
data_sensitivity_information data_sensitivity_information_s Veritabanındaki sınıflandırılmış sütunlara göre denetlenen sorgu tarafından döndürülen bilgi türleri ve duyarlılık etiketleri. Azure SQL Veritabanı veri bulma ve sınıflandırma hakkında daha fazla bilgi edinin nvarchar(4000) string
Veritabanı_adı database_name_s Eylemin gerçekleştiği veritabanı bağlamı Sysname string
database_principal_id database_principal_id_d Eylemin gerçekleştirdiği veritabanı kullanıcı bağlamının kimliği int int
database_principal_name database_principal_name_s Eylemin gerçekleştirildiği veritabanı kullanıcı bağlamının adı Sysname string
duration_milliseconds duration_milliseconds_d Milisaniye cinsinden sorgu yürütme süresi bigint int
event_time event_time_t Denetlenebilir eylemin tetiklenme tarihi ve saati datetime2 datetime
Host_name Yok İstemci ana bilgisayar adı string Yok
is_column_permission is_column_permission_s Bunun bir sütun düzeyi izni olup olmadığını gösteren bayrak. 1 = true, 0 = false bit string
Yok is_server_level_audit_s Bu denetimin sunucu düzeyinde olup olmadığını gösteren bayrak Yok string
object_ kimliği object_id_d Denetimin gerçekleştiği varlığın kimliği. Buna : sunucu nesneleri, veritabanları, veritabanı nesneleri ve şema nesneleri dahildir. Varlık sunucunun kendisiyse veya denetim nesne düzeyinde gerçekleştirilmediyse 0 int int
Object_name object_name_s Denetimin gerçekleştiği varlığın adı. Buna : sunucu nesneleri, veritabanları, veritabanı nesneleri ve şema nesneleri dahildir. Varlık sunucunun kendisiyse veya denetim nesne düzeyinde gerçekleştirilmediyse 0 Sysname string
permission_bitmask permission_bitmask_s Uygun olduğunda verilen, reddedilen veya iptal edilen izinleri gösterir varbinary(16) string
response_rows response_rows_d Sonuç kümesinde döndürülen satır sayısı bigint int
Schema_name schema_name_s Eylemin gerçekleştiği şema bağlamı. Şema dışında gerçekleşen denetimler için NULL Sysname string
Yok securable_class_type_s Denetlenen class_type eşlenen güvenli hale getirilebilir nesne Yok string
sequence_group_id sequence_group_id_g Benzersiz tanımlayıcı Varbinary GUID
sequence_number sequence_number_d Denetimler için yazma arabelleğine sığamayacak kadar büyük olan tek bir denetim kaydındaki kayıtların sırasını izler. Azure SQL Veritabanı ve Azure Synapse Denetimi'nin bir denetim kaydındaki karakter alanları için 4000 karakterlik veri depoladığını unutmayın. 4000'den fazla karakter olduğunda, ilk 4000 karakteri aşan tüm veriler kesilir int int
server_instance_name server_instance_name_s Denetimin gerçekleştiği sunucu örneğinin adı Sysname string
server_principal_id server_principal_id_d Eylemin gerçekleştirildiği oturum açma bağlamının kimliği int int
server_principal_name server_principal_name_s Geçerli oturum açma Sysname string
server_principal_sid server_principal_sid_s Geçerli oturum açma SID'i Varbinary string
Session_id session_id_d Olayın gerçekleştiği oturumun kimliği smallint int
session_server_principal_name session_server_principal_name_s Oturum için sunucu sorumlusu Sysname string
Deyim statement_s Yürütülen T-SQL deyimi (varsa) nvarchar(4000) string
başarılı succeeded_s Olayı tetikleyen eylemin başarılı olup olmadığını gösterir. Oturum açma ve toplu işlem dışındaki olaylar için bu işlem değil yalnızca izin denetiminin başarılı veya başarısız olup olmadığını bildirir. 1 = başarı, 0 = başarısız bit string
target_database_principal_id target_database_principal_id_d GRANT/DENY/REVOKE işleminin gerçekleştirdiği veritabanı sorumlusu. Uygulanamazsa 0 int int
target_database_principal_name target_database_principal_name_s Hedef eylem kullanıcısı. Uygulanamazsa NULL string string
target_server_principal_id target_server_principal_id_d GRANT/DENY/REVOKE işleminin gerçekleştirdiği sunucu sorumlusu. Uygulanamazsa 0 döndürür int int
target_server_principal_name target_server_principal_name_s Eylemin hedef oturum açması. Uygulanamazsa NULL Sysname string
target_server_principal_sid target_server_principal_sid_s Hedef oturum açma SID'i. Uygulanamazsa NULL Varbinary string
transaction_id transaction_id_d yalnızca SQL Server (2016'dan başlayarak) - Azure SQL Veritabanı için 0 bigint int
user_defined_event_id user_defined_event_id_d Kullanıcı tanımlı olay kimliği, sp_audit_write bağımsız değişken olarak geçirildi. Sistem olayları için NULL (varsayılan) ve kullanıcı tanımlı olay için sıfır olmayan. Daha fazla bilgi için bkz . sp_audit_write (Transact-SQL) smallint int
user_defined_information user_defined_information_s Kullanıcı tanımlı bilgiler sp_audit_write bağımsız değişken olarak geçirilir. Sistem olayları için NULL (varsayılan) ve kullanıcı tanımlı olay için sıfır olmayan. Daha fazla bilgi için bkz . sp_audit_write (Transact-SQL) nvarchar(4000) string

Sonraki adımlar

Azure SQL Veritabanı denetimi hakkında daha fazla bilgi edinin.