Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server Управляемый экземпляр SQL Azure
Создает объект спецификации аудита базы данных с помощью компонента аудита SQL Server. Дополнительные сведения см. в статье Аудит SQL Server (ядро СУБД).
Соглашения о синтаксисе Transact-SQL
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 ]
}
Имя спецификации аудита.
Имя аудита, к которому применяется эта спецификация.
Спецификация действий для защищаемых объектов субъектами, которые должны быть записаны в аудите.
Имя одного или нескольких действий аудита на уровне базы данных. Список действий аудита см. в разделе Действия и группы действий подсистемы аудита SQL Server.
Имя одной или нескольких групп проверяемых действий на уровне базы данных. Список групп действий аудита см. в разделе Действия и группы действий подсистемы аудита SQL Server.
Имя класса (если применимо) для защищаемого объекта.
Таблица, представление или другой защищаемый объект в базе данных, к которой применяется действие аудита или группа действий аудита. Дополнительные сведения см. в статье Securables.
Имя субъекта базы данных, к которому применяется действие аудита или группа действий аудита. Для аудита всех субъектов базы данных используйте субъект общедоступной базы данных. Дополнительные сведения см. в разделе Субъекты (ядро СУБД).
Включает или отключает сбор записей для этой спецификации аудита.
Спецификации аудита базы данных являются незащищаемыми объектами, которые находятся в определенной базе данных. После создания спецификация аудита базы данных находится в отключенном состоянии.
Пользователи, имеющие разрешение ALTER ANY DATABASE AUDIT
, могут создавать спецификации аудита базы данных и привязывать их к любому аудиту.
После создания спецификации аудита базы данных пользователи с разрешением CONTROL SERVER
или учетной записью sysadmin
могут просмотреть ее.
Примеры кода Transact-SQL в этой статье используют AdventureWorks2022
базу данных или AdventureWorksDW2022
пример базы данных, которую можно скачать с домашней страницы примеров и проектов сообщества Microsoft SQL Server.
В следующем примере создается вызываемый Payroll_Security_Audit
аудит сервера, а затем спецификация аудита базы данных, которая называется Payroll_Security_Audit
SELECT
аудитом и INSERT
инструкциями любого члена роли общедоступной базы данных для HumanResources.EmployeePayHistory
таблицы. Каждый пользователь проверяется, так как каждый пользователь всегда входит в общедоступную роль.
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
В следующем примере создается вызываемый DataModification_Security_Audit
аудит сервера, а затем спецификация аудита базы данных, которая называется Audit_Data_Modification_On_All_Sales_Tables
аудитом INSERT
UPDATE
и DELETE
операторами пользователей в новой роли SalesUK
базы данных для всех объектов в схемеSales
.
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
Спецификации аудита сервера:
- CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)
- СПЕЦИФИКАЦИЯ ALTER SERVER AUDIT (Transact-SQL)
- СПЕЦИФИКАЦИЯ АУДИТА DROP SERVER (Transact-SQL)
Спецификации аудита базы данных:
- CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
- ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)
- DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)
Представления каталога и динамические административные представления:
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)
- sys.server_audit_specifications (Transact-SQL)
- sys.server_audit_specification_details (Transact-SQL)
- sys.database_audit_specifications (Transact-SQL)
- sys.database_audit_specification_details (Transact-SQL)
- Создание аудита сервера и спецификации аудита сервера
- CREATE SERVER AUDIT (Transact-SQL)
- ALTER SERVER AUDIT (Transact-SQL)
- DROP SERVER AUDIT (Transact-SQL)
- ALTER AUTHORIZATION (Transact-SQL)
- sys.fn_get_audit_file (Transact-SQL)
- sys.dm_server_audit_status (Transact-SQL)
- sys.dm_audit_actions (Transact-SQL)