MEMBUAT SPESIFIKASI AUDIT DATABASE (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Managed Instance
Membuat objek spesifikasi audit database menggunakan fitur audit SQL Server. Untuk informasi selengkapnya, lihat Audit SQL Server (Mesin Database).
Sintaks
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 ]
}
Argumen
audit_specification_name
Nama spesifikasi audit.
audit_name
Nama audit tempat spesifikasi ini diterapkan.
audit_action_specification
Spesifikasi tindakan pada jaminan oleh prinsipal yang harus dicatat dalam audit.
action
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
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
Nama kelas (jika berlaku) pada yang dapat diamankan.
Securable
Tabel, tampilan, atau objek yang dapat diamankan lainnya dalam database untuk menerapkan tindakan audit atau grup tindakan audit. Untuk informasi selengkapnya, lihat Securables.
principal
Nama prinsipal database untuk menerapkan tindakan audit atau grup tindakan audit. Untuk mengaudit semua prinsipal database, gunakan prinsipal database publik . 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, pengguna dengan CONTROL SERVER
izin, atau sysadmin
akun, dapat melihatnya.
Contoh
Sampel kode Transact-SQL dalam artikel ini menggunakan AdventureWorks2022
database sampel atau AdventureWorksDW2022
, yang dapat Anda unduh dari halaman beranda Sampel Microsoft SQL Server dan Proyek Komunitas.
J. Mengaudit SELECT dan INSERT pada tabel untuk prinsipal database apa pun
Contoh berikut membuat audit server yang disebut Payroll_Security_Audit
lalu spesifikasi audit database yang disebut Payroll_Security_Audit
audit SELECT
dan INSERT
pernyataan oleh setiap anggota peran database publik, untuk tabel.HumanResources.EmployeePayHistory
Setiap pengguna diaudit, karena setiap pengguna selalu menjadi anggota peran publik .
USE master;
GO
-- Create the server audit.
CREATE SERVER AUDIT Payroll_Security_Audit
TO FILE (FILEPATH = 'D:\SQLAudit\'); -- make sure this path exists
GO
-- Enable the server audit.
ALTER SERVER AUDIT Payroll_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 Payroll_Security_Audit ADD (
SELECT, INSERT ON HumanResources.EmployeePayHistory BY PUBLIC
)
WITH (STATE = ON);
GO
B. Mengaudit modifikasi data apa pun pada semua objek dalam skema 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.
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
Tugas terkait
Spesifikasi audit server:
- MEMBUAT SPESIFIKASI AUDIT SERVER (Transact-SQL)
- UBAH SPESIFIKASI AUDIT SERVER (Transact-SQL)
- SPESIFIKASI AUDIT SERVER DROP (Transact-SQL)
Spesifikasi audit database:
- MEMBUAT SPESIFIKASI AUDIT DATABASE (Transact-SQL)
- UBAH SPESIFIKASI AUDIT DATABASE (Transact-SQL)
- HILANGKAN SPESIFIKASI AUDIT DATABASE (T-SQL)
Tampilan katalog dan DMV:
- 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)