ALTER SERVER AUDIT (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Mengubah objek audit server menggunakan fitur Audit SQL Server. Untuk informasi selengkapnya, lihat Audit SQL Server (Mesin Database).

Konvensi sintaks transact-SQL

Sintaksis

ALTER SERVER AUDIT audit_name  
{  
    [ TO { { FILE ( <file_options> [, ...n] ) } | APPLICATION_LOG | SECURITY_LOG } | URL]  
    [ WITH ( <audit_options> [ , ...n] ) ]   
    [ WHERE <predicate_expression> ]  
}  
| REMOVE WHERE  
| MODIFY NAME = new_audit_name  
[ ; ]  
  
<file_options>::=  
{  
      FILEPATH = 'os_file_path'   
    | MAXSIZE = { max_size { MB | GB | TB } | UNLIMITED }   
    | MAX_ROLLOVER_FILES = { integer | UNLIMITED }   
    | MAX_FILES = integer   
    | RESERVE_DISK_SPACE = { ON | OFF }   
}  
  
<audit_options>::=  
{  
      QUEUE_DELAY = integer   
    | ON_FAILURE = { CONTINUE | SHUTDOWN | FAIL_OPERATION }   
    | STATE = = { ON | OFF }   
}  
  
<predicate_expression>::=  
{  
    [NOT ] <predicate_factor>   
    [ { AND | OR } [NOT ] { <predicate_factor> } ]   
    [,...n ]  
}  
  
<predicate_factor>::=   
    event_field_name { = | < > | ! = | > | > = | < | < = } { number | ' string ' }  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

KE { FILE | APPLICATION_LOG | KEAMANAN |URL}
Menentukan lokasi target audit. Opsinya adalah file biner, log aplikasi Windows, atau log keamanan Windows.

Penting

Di Azure SQL Managed Instance, Audit SQL berfungsi di tingkat server dan menyimpan .xel file di Azure Blob Storage.

FILEPATH = 'os_file_path'
Jalur jejak audit. Nama file dihasilkan berdasarkan nama audit dan GUID audit.

MAX_SIZE MAXSIZE =
Menentukan ukuran maksimum tempat file audit dapat tumbuh. Nilai max_size harus berupa bilangan bulat diikuti oleh MB, GB, TB, atau UNLIMITED. Ukuran minimum yang dapat Anda tentukan untuk max_size adalah 2 MB dan maksimumnya adalah 2.147.483.647 TB. Ketika UNLIMITED ditentukan, file bertambah sampai disk penuh. Menentukan nilai yang lebih rendah dari 2 MB menimbulkan MSG_MAXSIZE_TOO_SMALL kesalahan. Nilai defaultnya adalah UNLIMITED.

=bilangan bulat | MAX_ROLLOVER_FILES TIDAK TERBATAS
Menentukan jumlah maksimum file yang akan dipertahankan dalam sistem file. Ketika pengaturan MAX_ROLLOVER_FILES=0, tidak ada batasan yang diberlakukan pada jumlah file rollover yang dibuat. Nilai default adalah 0. Jumlah maksimum file yang dapat ditentukan adalah 2.147.483.647.

MAX_FILES =bilangan bulat
Menentukan jumlah maksimum file audit yang dapat dibuat. Jangan bergulir ke file pertama ketika batas tercapai. Ketika batas MAX_FILES tercapai, tindakan apa pun yang menyebabkan peristiwa audit tambahan dihasilkan gagal dengan kesalahan.
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.

= RESERVE_DISK_SPACE { ON | NONAKTIF }
Opsi ini telah mengalokasikan file pada disk ke nilai MAXSIZE. Hanya berlaku jika MAXSIZE tidak sama dengan UNLIMITED. Nilai defaultnya adalah NONAKTIF.

=bilangan bulat QUEUE_DELAY
Menentukan waktu dalam milidetik yang dapat berlalu sebelum tindakan audit dipaksa untuk diproses. Nilai 0 menunjukkan pengiriman sinkron. Nilai penundaan kueri minimum yang dapat ditetapkan adalah 1000 (1 detik), yang merupakan default. Maksimum adalah 2.147.483.647 (2.147.483,647 detik atau 24 hari, 20 jam, 31 menit, 23,647 detik). Menentukan angka yang tidak valid, menimbulkan kesalahan MSG_INVALID_QUEUE_DELAY.

= ON_FAILURE { LANJUTKAN | MATIKAN | FAIL_OPERATION}
Menunjukkan apakah instans yang menulis ke target harus gagal, melanjutkan, atau berhenti jika SQL Server tidak dapat menulis ke log audit.

LANJUTKAN
Operasi SQL Server berlanjut. Catatan audit tidak dipertahankan. Audit terus mencoba mencatat peristiwa dan melanjutkan jika kondisi kegagalan diselesaikan. Memilih opsi lanjutkan dapat memungkinkan aktivitas yang tidak diaudit, yang dapat melanggar kebijakan keamanan Anda. Gunakan opsi ini, saat melanjutkan operasi Mesin Database lebih penting daripada mempertahankan audit lengkap.

SHUTDOWN
Memaksa instans SQL Server dimatikan, jika SQL Server gagal menulis data ke target audit karena alasan apa pun. Login yang ALTER menjalankan pernyataan harus memiliki SHUTDOWN izin dalam SQL Server. Perilaku matikan tetap ada bahkan jika SHUTDOWN izin kemudian dicabut dari proses masuk yang dijalankan. Jika pengguna tidak memiliki izin ini, maka pernyataan akan gagal dan audit tidak akan dimodifikasi. Gunakan opsi ketika kegagalan audit dapat membahayakan keamanan atau integritas sistem. Untuk informasi selengkapnya, lihat SHUTDOWN.

FAIL_OPERATION
Tindakan database gagal jika menyebabkan peristiwa yang diaudit. Tindakan, yang tidak menyebabkan peristiwa yang diaudit dapat berlanjut, tetapi tidak ada peristiwa yang diaudit yang dapat terjadi. Audit terus mencoba mencatat peristiwa dan melanjutkan jika kondisi kegagalan diselesaikan. Gunakan opsi ini saat mempertahankan audit lengkap lebih penting daripada akses penuh ke Mesin Database.
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.

STATUS = { AKTIF | NONAKTIF }
Mengaktifkan atau menonaktifkan audit dari mengumpulkan rekaman. Mengubah status audit yang sedang berjalan (dari AKTIF ke NONAKTIF) membuat entri audit bahwa audit dihentikan, prinsipal yang menghentikan audit, dan waktu audit dihentikan.

UBAH NAMA = new_audit_name
Mengubah nama audit. Tidak dapat digunakan dengan opsi lain.

predicate_expression
Menentukan ekspresi predikat yang digunakan untuk menentukan apakah suatu peristiwa harus diproses atau tidak. Ekspresi predikat dibatasi hingga 3000 karakter, yang membatasi argumen string.
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.

event_field_name
Adalah nama bidang peristiwa yang mengidentifikasi sumber predikat. Bidang audit dijelaskan dalam sys.fn_get_audit_file (Transact-SQL). Semua bidang dapat diaudit kecuali file_name dan audit_file_offset.
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.

number
Apakah ada jenis numerik termasuk desimal. Batasan adalah kurangnya memori fisik yang tersedia atau angka yang terlalu besar untuk direpresentasikan sebagai bilangan bulat 64-bit.
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.

' string '
Baik string ANSI atau Unicode sebagaimana diperlukan oleh perbandingan predikat. Tidak ada konversi jenis string implisit yang dilakukan untuk predikat membandingkan fungsi. Meneruskan jenis yang salah menghasilkan kesalahan.
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.

Keterangan

Anda harus menentukan setidaknya salah satu klausa TO, WITH, atau MODIFIKASI NAMA saat Anda memanggil ALTER AUDIT.

Anda harus mengatur status audit ke opsi NONAKTIF untuk membuat perubahan pada audit. Jika ALTER AUDIT dijalankan saat audit diaktifkan dengan opsi apa pun selain STATE=OFF, Anda menerima pesan kesalahan MSG_NEED_AUDIT_DISABLED.

Anda dapat menambahkan, mengubah, dan menghapus spesifikasi audit tanpa menghentikan audit.

Anda tidak dapat mengubah GUID audit setelah audit dibuat.

Pernyataan ALTER SERVER AUDIT tidak dapat digunakan di dalam transaksi pengguna.

Izin

Untuk membuat, mengubah, atau menghilangkan prinsip audit server, Anda harus memiliki izin ALTER ANY SERVER AUDIT atau CONTROL SERVER.

Contoh

J. Mengubah nama audit server

Contoh berikut mengubah nama audit HIPAA_Audit server menjadi HIPAA_Audit_Old.

USE master  
GO  
ALTER SERVER AUDIT HIPAA_Audit  
WITH (STATE = OFF);  
GO  
ALTER SERVER AUDIT HIPAA_Audit  
MODIFY NAME = HIPAA_Audit_Old;  
GO  
ALTER SERVER AUDIT HIPAA_Audit_Old  
WITH (STATE = ON);  
GO  

B. Mengubah target audit server

Contoh berikut mengubah audit server yang dipanggil HIPAA_Audit ke target file.

USE master  
GO  
ALTER SERVER AUDIT HIPAA_Audit  
WITH (STATE = OFF);  
GO  
ALTER SERVER AUDIT HIPAA_Audit  
TO FILE (FILEPATH ='\\SQLPROD_1\Audit\',  
          MAXSIZE = 1000 MB,  
          RESERVE_DISK_SPACE=OFF)  
WITH (QUEUE_DELAY = 1000,  
       ON_FAILURE = CONTINUE);  
GO  
ALTER SERVER AUDIT HIPAA_Audit  
WITH (STATE = ON);  
GO  

C. Mengubah klausa WHERE audit server

Contoh berikut memodifikasi klausa tempat yang dibuat dalam contoh C DARI CREATE SERVER AUDIT (Transact-SQL). Klausa WHERE baru memfilter peristiwa yang ditentukan pengguna jika dari 27.

ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = OFF)  
GO  
ALTER SERVER AUDIT [FilterForSensitiveData]  
WHERE user_defined_event_id = 27;  
GO  
ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = ON);  
GO  

D. Menghapus klausa WHERE

Contoh berikut menghapus ekspresi predikat klausa WHERE.

ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = OFF)  
GO  
ALTER SERVER AUDIT [FilterForSensitiveData]  
REMOVE WHERE;  
GO  
ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = ON);  
GO  

E. Mengganti nama audit server

Contoh berikut mengubah nama audit server dari FilterForSensitiveData menjadi AuditDataAccess.

ALTER SERVER AUDIT [FilterForSensitiveData] WITH (STATE = OFF)  
GO  
ALTER SERVER AUDIT [FilterForSensitiveData]  
MODIFY NAME = AuditDataAccess;  
GO  
ALTER SERVER AUDIT [AuditDataAccess] WITH (STATE = ON);  
GO  

Lihat Juga

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)
Membuat Audit Server dan Spesifikasi Audit Server