Veritabanı denetim BELİRTİMİ (Transact-SQL) oluştur
Kullanarak bir veritabanı denetim belirtimi nesnenin oluşturur SQL Server Denetim özelliği.Daha fazla bilgi için, bkz. SQL Server denetim anlama.
Sözdizimi
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 ]
}
Bağımsız değişkenler
audit_specification_name
Denetim belirtimi addır.audit_name
Bu belirtim uygulandığı denetim adıdır.audit_action_specification
Eylemleri denetleme günlüğüne kaydedilmesi gereken sorumluları tarafından güvenli hale Getirilebilenler belirtimidir.action
Bir veya daha fazla veritabanıdüzey denetlenebilir eylemleri adıdır.Denetim eylemler listesi için bkz: SQL Server denetim eylem grupları ve Eylemler.audit_action_group_name
Veritabanıdüzey bir veya daha fazla grupları denetlenebilir eylemleri adıdır.Denetim eylem grupları listesi için bkz: SQL Server denetim eylem grupları ve Eylemler.class
Sınıf (varsa) güvenliği sağlanabilirüzerinde addır.securable
tablo, görünüm veya başka bir güvenliği sağlanabilir nesneyi veritabanında bulunan denetim eylem uygulamak veya eylem grubu denetlemek olur.Daha fazla bilgi için, bkz. Güvenli Hale Getirilebilenler.principal
Adı SQL Server asıl üzerinde denetim eylem uygulamak veya Denetim eylem grubu.Daha fazla bilgi için, bkz. Sorumluları (veritabanı altyapısı).WITH ( STATE = { ON | OFF } )
Etkinleştirir veya bu denetim belirtimi kayıtlar toplanıyor gelen denetim devre dışı bırakır.
Açıklamalar
Veritabanı denetim belirtimleri olmayan -güvenliği sağlanabilir nesneleri, belirli bir veritabanı içinde bulunurlar.Veritabanı denetim belirtimi oluşturulduğunda, devre dışı durumda olur.
İzinler
alter any database DENETLEME kullanıcılarlaizni veritabanı denetim belirtimleri oluşturabilir ve bağlamak onları tüm denetim.
Veritabanı denetim belirtimi oluşturulduktan sonra onu control server ile sorumluları tarafından görüntülenebilirDenetim any database alterizinleri veya sysadmin hesabı.
Örnekler
Aşağıdaki örnek, adı verilen bir sunucu denetim oluşturur Payrole_Security_Audit ve sonra veritabanı denetim belirtimi adı verilen Payrole_Security_Audit , denetimleri SELECT ve INSERT ifadelerine göre dbo kullanıcı için HumanResources.EmployeePayHistory tablo AdventureWorks2008R2 veritabanı.
USE master ;
GO
-- Create the server audit.
CREATE SERVER AUDIT Payrole_Security_Audit
TO FILE ( FILEPATH =
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA' ) ;
GO
-- Enable the server audit.
ALTER SERVER AUDIT Payrole_Security_Audit
WITH (STATE = ON) ;
GO
-- Move to the target database.
USE AdventureWorks2008R2 ;
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 dbo )
WITH (STATE = ON) ;
GO
Ayrıca bkz.