Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: 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 ]
}
Аргументы
audit_specification_name
Имя спецификации аудита.
audit_name
Имя аудита, к которому применяется эта спецификация.
audit_action_specification
Спецификация действий для защищаемых объектов субъектами, которые должны быть записаны в аудите.
action
Имя одного или нескольких действий аудита на уровне базы данных. Список действий аудита см. в разделе Действия и группы действий подсистемы аудита SQL Server.
audit_action_group_name
Имя одной или нескольких групп проверяемых действий на уровне базы данных. Список групп действий аудита см. в разделе Действия и группы действий подсистемы аудита SQL Server.
class
Имя класса (если применимо) для защищаемого объекта.
securable
Таблица, представление или другой защищаемый объект в базе данных, к которой применяется действие аудита или группа действий аудита. Дополнительные сведения см. в статье Securables.
principal
Имя субъекта базы данных, к которому применяется действие аудита или группа действий аудита. Для аудита всех субъектов базы данных используйте субъект общедоступной базы данных. Дополнительные сведения см. в разделе Субъекты (ядро СУБД).
WITH (STATE = {ON | OFF})
Включает или отключает сбор записей для этой спецификации аудита.
Замечания
Спецификации аудита базы данных являются незащищаемыми объектами, которые находятся в определенной базе данных. После создания спецификация аудита базы данных находится в отключенном состоянии.
Разрешения
Пользователи, имеющие разрешение ALTER ANY DATABASE AUDIT, могут создавать спецификации аудита базы данных и привязывать их к любому аудиту.
После создания спецификации аудита базы данных пользователи с разрешением CONTROL SERVER или учетной записью sysadmin могут просмотреть ее.
Примеры
Примеры кода в этой статье используют базу данных образца AdventureWorks2025 или AdventureWorksDW2025, которую можно скачать с домашней страницы образцов и проектов сообщества Microsoft SQL Server и.
А. Аудит SELECT и INSERT в таблице для любого субъекта базы данных
В следующем примере создается вызываемый Payroll_Security_Audit аудит сервера, а затем спецификация аудита базы данных, которая называется Payroll_Security_AuditSELECT аудитом и 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
B. Аудит любых изменений данных для всех объектов в схеме для определенной роли базы данных
В следующем примере создается вызываемый DataModification_Security_Audit аудит сервера, а затем спецификация аудита базы данных, которая называется Audit_Data_Modification_On_All_Sales_Tables аудитом INSERTUPDATEи 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
Связанные задачи
Спецификации аудита сервера:
- СОЗДАТЬ СПЕЦИФИКАЦИЮ АУДИТА СЕРВЕРА (Transact-SQL)
- СПЕЦИФИКАЦИЯ ALTER SERVER AUDIT (Transact-SQL)
- СПЕЦИФИКАЦИЯ АУДИТА DROP SERVER (Transact-SQL)
Спецификации аудита базы данных:
- Создать спецификацию аудита базы данных (Transact-SQL)
- Изменение спецификации аудита базы данных (ALTER DATABASE AUDIT SPECIFICATION) в Transact-SQL
- СПЕЦИФИКАЦИЯ АУДИТА БАЗЫ ДАННЫХ DROP (Transact-SQL)
Представления каталога и динамические административные представления:
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)
- спецификации аудита сервера (Transact-SQL)
- sys.server_audit_specification_details (Transact-SQL)
- sys.database_audit_specifications (Transact-SQL)
- sys.database_audit_specification_details (Transact-SQL)
Связанный контент
- Создание аудита сервера и спецификации аудита сервера
- СОЗДАНИЕ АУДИТА СЕРВЕРА (Transact-SQL)
- ИЗМЕНИТЬ АУДИТ СЕРВЕРА (Transact-SQL)
- Удаление серверного аудита (Transact-SQL)
- Изменение Авторизации (Transact-SQL)
- sys.fn_get_audit_file (Transact-SQL)
- sys.dm_server_audit_status (Transact-SQL)
- sys.dm_audit_actions (Transact-SQL)