Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SQL Server'da sunucu denetimi tarafından oluşturulan bir denetim dosyasından bilgi döndürür. Daha fazla bilgi için bkz. SQL Server Denetimi (Veritabanı Altyapısı).
Tavsiye
Bunun yerine sys.fn_get_audit_file_v2 kullanmayı düşün. Bu sys.fn_get_audit_file_v2 fonksiyon, hem dosya hem de kayıt seviyelerinde zaman bazlı filtreleme getirir ve özellikle belirli zaman aralıklarını hedefleyen sorgularda önemli performans iyileştirmeleri sağlar.
Tavsiye
Fabric Data Warehouse sys.fn_get_audit_file için destekleniyor ama sys.fn_get_audit_file_v2 (Transact-SQL) önerilir. Bu sys.fn_get_audit_file_v2 fonksiyon, hem dosya hem de kayıt seviyelerinde zaman bazlı filtreleme getirir ve özellikle belirli zaman aralıklarını hedefleyen sorgularda önemli performans iyileştirmeleri sağlar. Daha fazla bilgi ve örnekler için, Fabric Data Warehouse'da Denetimi Konfigüre Etmenize bakınız.
Tavsiye
Fabric'te sys.fn_get_audit_file SQL veritabanı için desteklenir ancak sys.fn_get_audit_file_v2 (Transact-SQL) önerilir. Bu sys.fn_get_audit_file_v2 fonksiyon, hem dosya hem de kayıt seviyelerinde zaman bazlı filtreleme getirir ve özellikle belirli zaman aralıklarını hedefleyen sorgularda önemli performans iyileştirmeleri sağlar. Daha fazla bilgi ve örnekler için, Fabric SQL veritabanında Denetimi Yapılandır bölümüne bakınız.
Transact-SQL söz dizimi kuralları
Sözdizimi
fn_get_audit_file ( file_pattern ,
{ default | initial_file_name | NULL } ,
{ default | audit_record_offset | NULL } )
Tartışmalar
file_pattern
Okunacak denetim dosyası kümesinin dizinini veya yolunu ve dosya adını belirtir. Tür : nvarchar(260).
Dosya adı deseni olmayan bir yol geçirilmesi hataya neden olur.
Bu bağımsız değişken hem yol (sürücü harfi veya ağ paylaşımı) hem de joker karakter içerebilen bir dosya adı içermelidir. Bir denetim dosyası kümesinden birden çok dosya toplamak için tek bir yıldız işareti (*) kullanılabilir. Örneğin:
\<path>\*- Belirtilen konumdaki tüm denetim dosyalarını toplayın.<path>\LoginsAudit_{GUID}*- Belirtilen ad ve GUID çifti olan tüm denetim dosyalarını toplayın.<path>\LoginsAudit_{GUID}_00_29384.sqlaudit- Belirli bir denetim dosyasını toplayın.
initial_file_name
Denetim kayıtlarını okumaya başlamak için denetim dosyası kümesindeki belirli bir dosyanın yolunu ve adını belirtir. Tür : nvarchar(260).
initial_file_name bağımsız değişkeni geçerli girdiler içermeli veya ya da defaultNULL değerini içermelidir.
audit_record_offset
initial_file_name için belirtilen dosyayla bilinen bir konumu belirtir. Bu bağımsız değişken kullanıldığında işlev, belirtilen uzaklığı takip eden ilk arabellek kaydında okumaya başlar.
audit_record_offset bağımsız değişkeni geçerli girdiler içermeli veya veya default değerini içermelidirNULL. Tür büyük bir şey.
Döndürülen tablolar
Aşağıdaki tabloda, bu işlev tarafından döndürülebilecek denetim dosyası içeriği açıklanmaktadır.
| Sütun adı | Türü | Açıklama |
|---|---|---|
event_time |
datetime2 | Denetlenebilir eylemin tetiklendiğinde UTC tarihi ve saati. Null değeri atanamaz. |
sequence_number |
Int | Büyük olduğu için denetimler için yazma arabelleğine sığmayan tek bir denetim kaydına ait kayıtların sırasını takip eder. Null değeri atanamaz. |
action_id |
Varchar(4) | Eylemin kimliği. Null değeri atanamaz. |
succeeded |
bit | Olayı tetikleyen eylemin başarılı olup olmadığını gösterir. Null değeri atanamaz. Oturum açma olayları dışındaki tüm 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 |
permission_bitmask |
Varbinary(16) | Bazı eylemlerde bu bit maskesi, verilmeyen, reddedilen veya iptal edilen izinlerdir. |
is_column_permission |
bit | Bunun bir sütun düzeyi izni olup olmadığını gösteren bayrak. Null değeri atanamaz. değerini 0 döndürür permission_bitmask = 0.1 = doğru0 = yanlış |
session_id |
smallint | Olayın gerçekleştiği oturumun kimliği. Null değeri atanamaz. |
server_principal_id |
Int | Eylemin gerçekleştirdiği oturum açma bağlamının kimliği. Null değeri atanamaz. |
database_principal_id |
Int | Eylemin gerçekleştirdiği veritabanı kullanıcı bağlamının kimliği. Null değeri atanamaz. Bu geçerli değilse döndürür 0 . Örneğin, bir sunucu işlemi. |
target_server_principal_id |
Int | İşlemin GRANT/DENY/REVOKE gerçekleştirdiği sunucu sorumlusu. Null değeri atanamaz. Uygulanamazsa döndürür 0 . |
target_database_principal_id |
Int | İşlemin GRANT/DENY/REVOKE gerçekleştirdiği veritabanı sorumlusu. Null değeri atanamaz. Uygulanamazsa döndürür 0 . |
object_id |
Int | Denetimin gerçekleştiği varlığın kimliği, aşağıdaki nesneleri içerir: - Sunucu nesneleri -Veritaban -ları - Veritabanı nesneleri - Şema nesneleri Null değeri atanamaz. Varlığın Sunucu'nun kendisi olup olmadığını veya denetimin nesne düzeyinde gerçekleştirilmediğini döndürür 0 . Örneğin, Kimlik Doğrulaması. |
class_type |
Varchar(2) | Denetimin gerçekleştiği denetlenebilir varlık türü. Null değeri atanamaz. |
session_server_principal_name |
sysname | Oturum için sunucu sorumlusu. Nullable. Açık veya örtük bağlam anahtarları olması durumunda Veritabanı Altyapısı örneğine bağlı özgün oturum açma bilgilerinin kimliğini döndürür. |
server_principal_name |
sysname | Geçerli kullanıcı girişi. Nullable. |
server_principal_sid |
varbinary | Geçerli oturum açma güvenlik tanımlayıcısı (SID). Nullable. |
database_principal_name |
sysname | Geçerli kullanıcı. Nullable. Kullanılamıyorsa döndürür NULL . |
target_server_principal_name |
sysname | Eylemin oturum açma hedefini belirleyin. Nullable. Uygulanamazsa döndürür NULL . |
target_server_principal_sid |
varbinary | Hedef oturum açma sid'i. Nullable. Uygulanamazsa döndürür NULL . |
target_database_principal_name |
sysname | Eylem kullanıcılarını hedefleyin. Nullable. Uygulanamazsa döndürür NULL . |
server_instance_name |
sysname | Denetimin gerçekleştiği sunucu örneğinin adı. Standart server\instance biçim kullanılır. |
database_name |
sysname | Eylemin gerçekleştiği veritabanı bağlamı. Nullable. Sunucu düzeyinde gerçekleşen denetimleri döndürür NULL . |
schema_name |
sysname | Eylemin gerçekleştiği şema bağlamı. Nullable. Şema dışında gerçekleşen denetimler için döndürür NULL . |
object_name |
sysname | Denetimin gerçekleştiği varlığın adı ve aşağıdaki nesneleri içerir: - Sunucu nesneleri -Veritaban -ları - Veritabanı nesneleri - Şema nesneleri Nullable. Varlığın Sunucu'nun kendisi olup olmadığını veya denetimin nesne düzeyinde gerçekleştirilmediğini döndürür NULL . Örneğin, Kimlik Doğrulaması. |
statement |
nvarchar(4000) | varsa deyimini Transact-SQL. Nullable. Uygulanamazsa döndürür NULL . |
additional_information |
nvarchar(4000) | Yalnızca tek bir olaya uygulanan benzersiz bilgiler XML olarak döndürülür. Denetlenebilir birkaç eylem bu tür bilgileri içerir. T-SQL yığınının bir düzeyi, T-SQL yığınıyla ilişkilendirilmiş eylemler için XML biçiminde görüntülenir. XML biçimi: <tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>frame nest_level çerçevenin geçerli iç içe yerleştirme düzeyini gösterir. Modül adı üç parça biçiminde (database_name, schema_nameve object_name) temsil edilir. Modül adı , , <, >/gibi _xgeçersiz XML karakterlerinden kaçmak için ayrıştırılır. Onlar olarak _xHHHH_kaçtılar. , HHHH karakter için dört basamaklı onaltılık UCS-2 kodunun kısaltmasıdır. Nullable. Olay tarafından bildirilen ek bilgi olmadığında döndürür NULL . |
file_name |
Varchar(260) | Kaydın geldiği denetim günlüğü dosyasının yolu ve adı. Null değeri atanamaz. |
audit_file_offset |
büyük | Denetim kaydını içeren dosyadaki arabellek uzaklığı. Null değeri atanamaz. Şunlar için geçerlidir: Yalnızca SQL Server |
user_defined_event_id |
smallint | Kullanıcı tanımlı olay kimliği öğesine sp_audit_writebağımsız değişken olarak geçirildi.
NULL sistem olayları için (varsayılan) ve kullanıcı tanımlı olay için sıfır olmayan. Daha fazla bilgi için bkz. sp_audit_write.Şunlar için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümleri, Azure SQL Veritabanı ve SQL Yönetilen Örneği |
user_defined_information |
nvarchar(4000) | Saklı yordamı kullanarak sp_audit_write kullanıcının denetim günlüğüne kaydetmek istediği ek bilgileri kaydetmek için kullanılır.Şunlar için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümleri, Azure SQL Veritabanı ve SQL Yönetilen Örneği |
audit_schema_version |
Int | Her zaman 1. |
sequence_group_id |
varbinary | Benzersiz tanımlayıcı. için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümler |
transaction_id |
büyük | Tek bir işlemdeki birden çok denetim olayını tanımlamak için benzersiz tanımlayıcı. için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümler |
client_ip |
nvarchar(128) | İstemci uygulamasının kaynak IP'sini. için geçerlidir: SQL Server 2017 (14.x) ve sonraki sürümleri ve Azure SQL Veritabanı |
application_name |
nvarchar(128) | Denetim olayına neden olan deyimini yürüten istemci uygulamasının adı. için geçerlidir: SQL Server 2017 (14.x) ve sonraki sürümleri ve Azure SQL Veritabanı |
duration_milliseconds |
büyük | Milisaniye cinsinden sorgu yürütme süresi. Şunlar için geçerlidir: Azure SQL Veritabanı ve SQL Yönetilen Örneği |
response_rows |
büyük | Sonuç kümesinde döndürülen satır sayısı. Şunlar için geçerlidir: Azure SQL Veritabanı ve SQL Yönetilen Örneği |
affected_rows |
büyük | Yürütülen sorgudan etkilenen satır sayısı. Şunlar için geçerlidir: Yalnızca Azure SQL Veritabanı |
connection_id |
benzersiz tanımlayıcı | Sunucudaki bağlantının kimliği. Şunlar için geçerlidir: Azure SQL Veritabanı ve SQL Yönetilen Örneği |
data_sensitivity_information |
nvarchar(4000) | 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. Şunlar için geçerlidir: Yalnızca Azure SQL Veritabanı |
host_name |
nvarchar(128) | İstemci makinesinin Ana Bilgisayar Adı. |
session_context |
nvarchar(4000) | Geçerli oturum bağlamının bir parçası olan anahtar-değer çiftleri. |
client_tls_version |
büyük | İstemci tarafından desteklenen en düşük TLS sürümü. |
client_tls_version_name |
nvarchar(128) | İstemci tarafından desteklenen en düşük TLS sürümü. |
database_transaction_id |
büyük | Geçerli oturumdaki geçerli işlemin işlem kimliği. |
ledger_start_sequence_number |
büyük | Satır sürümü oluşturan bir işlem içindeki işlemin sıra numarası. Şunlar için geçerlidir: Yalnızca Azure SQL Veritabanı |
external_policy_permissions_checked |
nvarchar(4000) | Bir denetim olayı oluşturulduğunda ve Purview dış yetkilendirme ilkeleri değerlendirildiğinde, dış yetkilendirme izni denetimiyle ilgili bilgiler. Şunlar için geçerlidir: Yalnızca Azure SQL Veritabanı |
obo_middle_tier_app_id |
Varchar(120) | Adına (OBO) erişim kullanarak Azure SQL Veritabanı'na bağlanan orta katman uygulamasının uygulama kimliği. Nullable. İstek OBO erişimi kullanılarak yapılmadıysa döndürür NULL .Şunlar için geçerlidir: Yalnızca Azure SQL Veritabanı |
is_local_secondary_replica |
bit |
True denetim kaydı salt okunur bir yerel ikincil çoğaltmadan geliyorsa, False aksi takdirde.Şunlar için geçerlidir: Yalnızca Azure SQL Veritabanı |
Açıklamalar
geçirilen file_pattern bağımsız değişkeni var olmayan bir yola veya dosyaya
fn_get_audit_filebaşvuruda bulunursa veya dosya bir denetim dosyası değilse,MSG_INVALID_AUDIT_FILEhata iletisi döndürülür.fn_get_audit_file,APPLICATION_LOGveyaSECURITY_LOGseçenekleriyleEXTERNAL_MONITORdenetim oluşturulduğunda kullanılamaz.
İzinler
SQL Server 2019 (15.x) ve önceki sürümleri sunucuda CONTROL SERVER izin gerektirir.
SQL Server 2022 (16.x) ve sonraki sürümleri sunucuda VIEW SERVER SECURITY AUDIT izin gerektirir.
Örnekler
Bu örnek adlı \\serverName\Audit\HIPAA_AUDIT.sqlauditbir dosyadan okur.
SELECT *
FROM sys.fn_get_audit_file(
'\\serverName\Audit\HIPAA_AUDIT.sqlaudit',
DEFAULT,
DEFAULT
);
GO
Denetim oluşturma hakkında tam bir örnek için bkz. SQL Server Denetimi (Veritabanı Altyapısı).
Sınırlamalar
Bir Seçim Olarak Tablo Oluştur (CTAS) içinden satır sys.fn_get_audit_file seçmek veya INSERT INTO Azure Synapse Analytics'te çalışırken bir sınırlamadır. Sorgu başarıyla tamamlanır ve hata iletisi görüntülenmese de, CTAS veya INSERT INTOkullanılarak oluşturulan tabloda satır yoktur.
Daha fazla bilgi
Sistem kataloğu görünümleri:
- sys.server_audit_specifications (Transact-SQL)
- sys.server_audit_specification_details (Transact-SQL) - Sunucu Denetim Özellikleri Detayları
- sys.database_denetim_özellikleri (Transact-SQL)
- sys.database_audit_specification_details (Transact-SQL)
Transact-SQL:
- SUNUCU DENETİMİ OLUŞTUR (Transact-SQL)
- ALTER SERVER AUDIT (Transact-SQL)
- DROP SERVER DENETİMİ (Transact-SQL)
- SUNUCU DENETİM BELİRTİMİ OLUŞTUR (Transact-SQL)
- ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)
- BIRAKMA SUNUCUSU DENETIM ÖZELLIKLERI (Transact-SQL)
- VERİ TABANI DENETİM ÖZELLİĞİ OLUŞTUR (Transact-SQL)
- ALTER VERITABANI DENETIM SPESIFIKASYONU (Transact-SQL)
- VERİTABANI DENETİM ÖZELLİĞİ'Nİ SİL (Transact-SQL)
- DEĞIŞTIRME YETKISI (Transact-SQL)