Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Fitur Audit SQL Server memungkinkan Anda mengaudit grup peristiwa dan peristiwa tingkat server dan tingkat database. Untuk informasi selengkapnya, lihat Audit SQL Server (Mesin Database). SQL Server.
Audit terdiri dari nol atau lebih item tindakan audit, yang dicatat ke target audit. Target audit dapat berupa file biner, log peristiwa Aplikasi Windows, atau log peristiwa Keamanan Windows. Rekaman yang dikirim ke target dapat berisi elemen yang dijelaskan dalam tabel berikut:
| Nama kolom | Deskripsi | Jenis | Selalu tersedia |
|---|---|---|---|
| event_time | Tanggal dan waktu ketika tindakan yang dapat diaudit diaktifkan. | datetime2 | Ya |
| sequence_number | Melacak urutan rekaman dalam satu catatan audit yang terlalu besar agar pas di buffer tulis untuk audit. | int | Ya |
| action_id | ID tindakan Tips: Untuk menggunakan action_id sebagai predikat, itu harus dikonversi dari string karakter ke nilai numerik. Untuk informasi selengkapnya, lihat Memfilter Audit SQL Server pada predikat action_id/class_type. |
varchar(4) | Ya |
| berhasil | Menunjukkan apakah tindakan yang memicu peristiwa berhasil. Untuk semua peristiwa selain peristiwa masuk, ini hanya melaporkan apakah pemeriksaan izin berhasil atau gagal, bukan operasi. - 1 = Berhasil - 0 = Gagal |
bit | Ya |
| permission_bitmask | Dalam beberapa tindakan, ini adalah izin yang diberikan, ditolak, atau dicabut. | varbinary(16) | No |
| is_column_permission | Bendera yang menunjukkan apakah ini adalah izin tingkat kolom. Mengembalikan 0 saat permission_bitmask = 0. - 1 = Benar - 0 = False |
bit | No |
| session_id | ID sesi tempat peristiwa terjadi. | smallint | Ya |
| server_principal_id | ID konteks masuk tempat tindakan dilakukan. | int | Ya |
| database_principal_id | ID konteks pengguna database tempat tindakan dilakukan. Mengembalikan 0 jika ini tidak berlaku. Misalnya, operasi server. | int | No |
| target_server_principal_id | Perwakilan server tempat operasi GRANT/DENY/REVOKE dilakukan. Mengembalikan 0 jika tidak berlaku. | int | Ya |
| target_database_principal_id | Prinsipal database tempat operasi GRANT/DENY/REVOKE dilakukan. Mengembalikan 0 jika tidak berlaku. | int | No |
| object_id | ID entitas tempat audit terjadi. Ini termasuk: objek server database objek database objek skema Mengembalikan 0 jika entitas adalah Server itu sendiri atau jika audit tidak dilakukan pada tingkat objek. Misalnya, Autentikasi. |
int | No |
| class_type | Jenis entitas yang dapat diaudit tempat audit terjadi. | varchar(2) | Ya |
| session_server_principal_name | Perwakilan server untuk sesi tersebut. | nama sysname | Ya |
| server_principal_name | Login saat ini. | nama sysname | Ya |
| server_principal_sid | SID login saat ini. | varbinary(85) | Ya |
| database_principal_name | Pengguna saat ini. | nama sysname | No |
| target_server_principal_name | Target login tindakan. Mengembalikan NULL jika tidak berlaku. | nama sysname | No |
| target_server_principal_sid | SID login target. Mengembalikan NULL jika tidak berlaku. | varbinary(85) | No |
| target_database_principal_name | Targetkan pengguna tindakan. Mengembalikan NULL jika tidak berlaku. | nama sysname | No |
| server_instance_name | Nama instans server tempat audit terjadi. Format server\instance standar digunakan. | nama sysname | Ya |
| database_name | Konteks database tempat tindakan terjadi. Dapat diubah ke null. Mengembalikan NULL untuk audit yang terjadi di tingkat server. | nama sysname | No |
| schema_name | Konteks skema di mana tindakan terjadi. | nama sysname | No |
| object_name | Nama entitas tempat audit terjadi. Ini termasuk: objek server database objek database objek skema Dapat diubah ke null. Mengembalikan NULL jika entitas adalah Server itu sendiri atau jika audit tidak dilakukan pada tingkat objek. Misalnya, Autentikasi. |
nama sysname | No |
| statement | Pernyataan TSQL jika ada. Mengembalikan NULL jika tidak berlaku. | nvarchar(4000) | No |
| additional_information | Informasi unik yang hanya berlaku untuk satu peristiwa dikembalikan sebagai XML. Beberapa tindakan yang dapat diaudit berisi informasi semacam ini. Satu tingkat tumpukan TSQL akan ditampilkan dalam format XML untuk tindakan yang memiliki tumpukan TSQL yang terkait dengannya. Format XML akan menjadi: <tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>Bingkai nest_level menunjukkan tingkat berlapis bingkai saat ini. Nama modul diwakili dalam format tiga bagian (database_name, schema_name, dan object_name). Nama modul akan diurai untuk meloloskan karakter xml yang tidak valid seperti '\<', , '>''/', '_x'. Mereka akan lolos sebagai _xHHHH\_. HHHH adalah singkatan dari empat digit kode heksadesimal UCS-2 untuk karakterDapat diubah ke null. Mengembalikan NULL ketika tidak ada informasi tambahan yang dilaporkan oleh peristiwa. |
nvarchar(4000) | No |
| file_name | Jalur dan nama file log audit tempat rekaman berasal. | varchar(260) | Ya |
| audit_file_offset |
Berlaku untuk: SQL Server saja Offset buffer dalam file yang berisi catatan audit. |
bigint | No |
| user_defined_event_id |
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru, Azure SQL Database, dan SQL Managed Instance ID peristiwa yang ditentukan pengguna diteruskan sebagai argumen ke sp_audit_writeNULL untuk peristiwa sistem (default) dan nonzero untuk peristiwa yang ditentukan pengguna. Untuk informasi selengkapnya, lihat sp_audit_write (Transact-SQL). |
smallint | No |
| user_defined_information |
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru, Azure SQL Database, dan SQL Managed Instance Digunakan untuk merekam informasi tambahan yang ingin dicatat pengguna dalam log audit dengan menggunakan prosedur tersimpan sp_audit_write . |
nvarchar(4000) | No |
| audit_schema_version | Selalu 1 | int | Ya |
| sequence_group_id |
Berlaku untuk: SQL Server saja Pengidentifikasi unik |
varbinary(85) | No |
| transaction_id |
Berlaku untuk: SQL Server saja (Dimulai dengan 2016) Pengidentifikasi unik untuk mengidentifikasi beberapa peristiwa audit dalam satu transaksi |
bigint | No |
| client_ip |
Berlaku untuk: Azure SQL Database + SQL Server (Dimulai dengan 2017) IP sumber aplikasi klien |
nvarchar(128) | No |
| application_name |
Berlaku untuk: Azure SQL Database + SQL Server (Dimulai dengan 2017) Nama aplikasi klien yang menjalankan pernyataan yang menyebabkan peristiwa audit |
nvarchar(128) | No |
| duration_milliseconds |
Berlaku untuk: Azure SQL Database dan SQL Managed Instance Durasi eksekusi kueri dalam milidetik |
bigint | No |
| response_rows |
Berlaku untuk: Azure SQL Database dan SQL Managed Instance Jumlah baris yang dikembalikan dalam tataan hasil. |
bigint | No |
| affected_rows |
Berlaku untuk: Hanya Azure SQL Database Jumlah baris yang terpengaruh oleh pernyataan yang dijalankan. |
bigint | No |
| connection_id |
Berlaku untuk: Azure SQL Database dan SQL Managed Instance ID koneksi di server |
GUID | No |
| data_sensitivity_information |
Berlaku untuk: Hanya Azure SQL Database Jenis informasi dan label sensitivitas yang dikembalikan oleh kueri yang diaudit, berdasarkan kolom yang diklasifikasikan dalam database. Pelajari selengkapnya tentang penemuan dan klasifikasi data Azure SQL Database |
nvarchar(4000) | No |
| host_name | Nama host koneksi klien | nvarchar(128) | No |
| session_context | Informasi konteks sesi untuk koneksi | nvarchar(4000) | No |
| client_tls_version |
Berlaku untuk: SQL Server 2022 dan yang lebih baru Nomor versi TLS yang digunakan oleh koneksi klien |
int | No |
| client_tls_version_name |
Berlaku untuk: SQL Server 2022 dan yang lebih baru Nama versi TLS yang digunakan oleh koneksi klien |
nvarchar(128) | No |
| database_transaction_id | Pengidentifikasi transaksi database | bigint | No |
| ledger_start_sequence_number |
Berlaku untuk: SQL Server 2022 dan yang lebih baru Nomor urutan mulai ledger untuk operasi ledger |
bigint | No |
| external_policy_permissions_checked | Izin kebijakan eksternal yang diperiksa selama operasi | nvarchar(4000) | No |
Keterangan
Beberapa tindakan tidak mengisi nilai kolom karena mungkin tidak dapat diterapkan ke tindakan.
Audit SQL Server menyimpan 4.000 karakter data untuk bidang karakter dalam catatan audit. Ketika nilai additional_information dan pernyataan yang dikembalikan dari tindakan yang dapat diaudit mengembalikan lebih dari 4000 karakter, kolom sequence_number digunakan untuk menulis beberapa rekaman ke dalam laporan audit untuk satu tindakan audit untuk merekam data ini. Prosesnya adalah sebagai berikut:
Kolom pernyataan dibagi menjadi 4.000 karakter.
Audit SQL Server menulis sebagai baris pertama untuk catatan audit dengan data parsial. Semua bidang lainnya diduplikasi di setiap baris.
Nilai sequence_number dinaikkan.
Proses ini diulang hingga semua data direkam.
Anda dapat menyambungkan data dengan membaca baris secara berurutan menggunakan nilai sequence_number , dan kolom event_Time, action_id , dan session_id untuk mengidentifikasi tindakan.
Konten terkait
- CREATE SERVER AUDIT (Transact-SQL)
- ALTER SERVER AUDIT (Transact-SQL)
- DROP SERVER AUDIT (Transact-SQL)
- MEMBUAT SPESIFIKASI AUDIT SERVER (Transact-SQL)
- UBAH SPESIFIKASI AUDIT SERVER (Transact-SQL)
- SPESIFIKASI AUDIT SERVER DROP (Transact-SQL)
- MEMBUAT SPESIFIKASI AUDIT DATABASE (Transact-SQL)
- UBAH SPESIFIKASI AUDIT DATABASE (Transact-SQL)
- HILANGKAN SPESIFIKASI AUDIT DATABASE (T-SQL)
- ALTER AUTHORIZATION (Transact-SQL)
- sys.fn_get_audit_file (T-SQL)
- sys.server_audits (T-SQL)
- sys.server_file_audits (T-SQL)
- sys.server_audit_specifications (T-SQL)
- sys.server_audit_specification_details (T-SQL)
- sys.database_audit_specifications (T-SQL)
- sys.database_audit_specification_details (T-SQL)
- sys.dm_server_audit_status (T-SQL)
- sys.dm_audit_actions (T-SQL)
- sys.dm_audit_class_type_map (T-SQL)