MEMBUAT SPESIFIKASI AUDIT DATABASE (Transact-SQL)
Berlaku untuk:SQL ServerAzure SQL Managed Instance
Membuat objek spesifikasi audit database menggunakan fitur audit SQL Server. Untuk informasi selengkapnya, lihat Audit SQL Server (Mesin Database).
Sintaksis
CREATE DATABASE AUDIT SPECIFICATION audit_specification_name
{
FOR SERVER AUDIT audit_name
[ { ADD ( { <audit_action_specification> | audit_action_group_name } )
} [, ...n] ]
[ WITH ( STATE = { ON | OFF } ) ]
}
[ ; ]
<audit_action_specification>::=
{
action [ ,...n ]ON [ class :: ] securable BY principal [ ,...n ]
}
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
audit_specification_name
Adalah nama spesifikasi audit.
audit_name
Adalah nama audit tempat spesifikasi ini diterapkan.
audit_action_specification
Adalah spesifikasi tindakan pada jaminan oleh prinsipal yang harus dicatat dalam audit.
action
Adalah nama satu atau beberapa tindakan yang dapat diaudit tingkat database. Untuk daftar tindakan audit, lihat Grup tindakan dan Tindakan Audit SQL Server.
audit_action_group_name
Adalah nama satu atau beberapa grup tindakan yang dapat diaudit tingkat database. Untuk daftar grup tindakan audit, lihat Grup tindakan dan Tindakan Audit SQL Server.
kelas
Adalah nama kelas (jika berlaku) pada yang dapat diamankan.
Securable
Adalah tabel, tampilan, atau objek lain yang dapat diamankan dalam database tempat menerapkan tindakan audit atau grup tindakan audit. Untuk informasi selengkapnya, lihat Securables.
principal
Adalah nama prinsipal database untuk menerapkan tindakan audit atau grup tindakan audit. Untuk mengaudit semua prinsipal database, gunakan prinsipal public
database . Untuk informasi selengkapnya, lihat Prinsipal (Mesin Database).
WITH ( STATE = { ON | OFF } )
Mengaktifkan atau menonaktifkan audit dari mengumpulkan rekaman untuk spesifikasi audit ini.
Keterangan
Spesifikasi audit database adalah objek yang tidak dapat diamankan yang berada dalam database tertentu. Saat spesifikasi audit database dibuat, spesifikasi tersebut dalam status dinonaktifkan.
Izin
Pengguna dengan ALTER ANY DATABASE AUDIT
izin dapat membuat spesifikasi audit database dan mengikatnya ke audit apa pun.
Setelah spesifikasi audit database dibuat, spesifikasi tersebut dapat dilihat oleh pengguna dengan CONTROL SERVER
izin, atau sysadmin
akun.
Contoh
J. Mengaudit SELECT dan INSERT pada tabel untuk prinsipal database apa pun
Contoh berikut membuat audit server yang disebut Payrole_Security_Audit
lalu spesifikasi audit database yang disebut Payrole_Security_Audit
audit SELECT
dan INSERT
pernyataan oleh anggota public
peran database mana pun, untuk HumanResources.EmployeePayHistory
tabel dalam AdventureWorks2022
database. Ini memiliki efek bahwa setiap pengguna diaudit karena setiap pengguna selalu menjadi anggota public
peran.
USE master ;
GO
-- Create the server audit.
CREATE SERVER AUDIT Payrole_Security_Audit
TO FILE ( FILEPATH =
'D:\SQLAudit\' ) ; -- make sure this path exists
GO
-- Enable the server audit.
ALTER SERVER AUDIT Payrole_Security_Audit
WITH (STATE = ON) ;
GO
-- Move to the target database.
USE AdventureWorks2022;
GO
-- Create the database audit specification.
CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables
FOR SERVER AUDIT Payrole_Security_Audit
ADD (SELECT , INSERT
ON HumanResources.EmployeePayHistory BY public )
WITH (STATE = ON) ;
GO
B. Mengaudit DML apa pun (INSERT, UPDATE, atau DELETE) pada semua objek dalam skema penjualan untuk peran database tertentu
Contoh berikut membuat audit server yang disebut DataModification_Security_Audit
lalu spesifikasi audit database yang disebut Audit_Data_Modification_On_All_Sales_Tables
audit INSERT
, UPDATE
dan DELETE
pernyataan oleh pengguna dalam peran SalesUK
database baru , untuk semua objek dalam Sales
skema dalam AdventureWorks2022
database.
USE master ;
GO
-- Create the server audit.
-- Change the path to a path that the SQLServer Service has access to.
CREATE SERVER AUDIT DataModification_Security_Audit
TO FILE ( FILEPATH =
'D:\SQLAudit\' ) ; -- make sure this path exists
GO
-- Enable the server audit.
ALTER SERVER AUDIT DataModification_Security_Audit
WITH (STATE = ON) ;
GO
-- Move to the target database.
USE AdventureWorks2022;
GO
CREATE ROLE SalesUK
GO
-- Create the database audit specification.
CREATE DATABASE AUDIT SPECIFICATION Audit_Data_Modification_On_All_Sales_Tables
FOR SERVER AUDIT DataModification_Security_Audit
ADD ( INSERT, UPDATE, DELETE
ON Schema::Sales BY SalesUK )
WITH (STATE = ON) ;
GO
Lihat Juga
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)
Membuat Audit Server dan Spesifikasi Audit Server
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk