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).
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 ]
}
Nama spesifikasi audit.
Nama audit tempat spesifikasi ini diterapkan.
Spesifikasi tindakan pada jaminan oleh prinsipal yang harus dicatat dalam audit.
Nama satu atau beberapa tindakan yang dapat diaudit tingkat database. Untuk daftar tindakan audit, lihat Grup tindakan dan Tindakan Audit SQL Server.
Nama satu atau beberapa grup tindakan yang dapat diaudit tingkat database. Untuk daftar grup tindakan audit, lihat Grup tindakan dan Tindakan Audit SQL Server.
Nama kelas (jika berlaku) pada yang dapat diamankan.
Tabel, tampilan, atau objek yang dapat diamankan lainnya dalam database untuk menerapkan tindakan audit atau grup tindakan audit. Untuk informasi selengkapnya, lihat Securables.
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).
Mengaktifkan atau menonaktifkan audit dari mengumpulkan rekaman untuk spesifikasi audit ini.
Spesifikasi audit database adalah objek yang tidak dapat diamankan yang berada dalam database tertentu. Saat spesifikasi audit database dibuat, spesifikasi tersebut dalam status dinonaktifkan.
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.
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.
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
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
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: