Aracılığıyla paylaş


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ı denetim 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>.xelCreationTime UTC hh_mm_ss_ms biçimindedir ve FileNumberInSession oturum günlüklerinin birden çok Blob dosyasına yayılması durumunda çalışan bir dizindir.

Örneğin, aşağıdaki veritabanı Database1 Server1 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ına, kategorisine SQLSecurityAuditEventssahip tabloya AzureDiagnostics ve Microsoft Desteği İşlemleri kategorisine DevOpsOperationsAudit sahip tabloya 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) Açıklama Blob türü Event Hubs/Log Analytics türü
action_id action_id_s Eylemin kimliği varchar(4) Dize
action_name action_name_s Eylemin adı Yok Dize
additional_information additional_information_s Olay hakkında XML olarak depolanan ek bilgiler nvarchar(4000) Dize
etkilenen_sütunlar affected_rows_d Sorgudan etkilenen satır sayısı bigint int
uygulama_adı application_name_s İstemci uygulamasının adı nvarchar(128) Dize
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) Dize
class_type_desc class_type_description_s Denetimin gerçekleştiği denetlenebilir varlığın açıklaması Yok Dize
istemci_ip_adresi client_ip_s İstemci uygulamasının kaynak IP'sini nvarchar(128) Dize
bağlantı_kimliği 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) Dize
database_name database_name_s Eylemin gerçekleştiği veritabanı bağlamı sysname Dize
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 Dize
süre_milisaniye 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ı Dize 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 Dize
Yok is_server_level_audit_s Bu denetimin sunucu düzeyinde olup olmadığını gösteren bayrak Yok Dize
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 Dize
obo_middle_tier_app_id obo_middle_tier_app_id_s OBO erişimi kullanılarak SQL Veritabanı bağlanan orta katman uygulamasının uygulama kimliği. varchar(120) Dize
permission_bitmask permission_bitmask_s Uygun olduğunda verilen, reddedilen veya iptal edilen izinleri gösterir varbinary(16) Dize
yanıt_sütunları 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 Dize
Yok securable_class_type_s Denetlenen class_type eşlenen güvenli hale getirilebilir nesne Yok Dize
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 Audit'in bir denetim kaydındaki karakter alanları için 4000 karakter 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 Dize
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 Dize
server_principal_sid server_principal_sid_s Geçerli oturum açma SID'i varbinary Dize
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 Dize
deyim statement_s Yürütülen T-SQL deyimi (varsa) nvarchar(4000) Dize
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 yalnızca izin denetiminin başarılı mı yoksa başarısız mı olduğunu bildirir, işlemin değil. 1 = başarı, 0 = başarısız bit Dize
target_database_principal_id target_database_principal_id_d GRANT/DENY/REVOKE işleminin üzerinde gerçekleştirilen veritabanı sorumlusu. Geçerli değilse 0 int int
target_database_principal_name target_database_principal_name_s Eylem kullanıcılarını hedefleyin. Uygulanamazsa NULL Dize Dize
target_server_principal_id target_server_principal_id_d GRANT/DENY/REVOKE işleminin üzerinde gerçekleştirdiği sunucu sorumlusu. Uygulanamazsa 0 döndürür int int
target_server_principal_name target_server_principal_name_s Eylemin oturum açma hedefini belirleyin. Uygulanamazsa NULL sysname Dize
target_server_principal_sid target_server_principal_sid_s Hedef oturum açma sid'i. Uygulanamazsa NULL varbinary Dize
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ç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) nvarchar(4000) Dize

Sonraki adımlar

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