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>.xel
CreationTime
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 SQLSecurityAuditEvents
sahip 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.