Поделиться через


Создание спецификации аудита для сервера и базы данных

Область применения: SQL Server

В этой статье описывается создание аудита сервера и спецификации аудита базы данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

Аудит экземпляра SQL Server или базы данных SQL Server включает отслеживание и ведение журнала событий, происходящих в системе. Объект подсистема аудита SQL Server объединяет отдельные экземпляры действий или групп действий уровня сервера или базы данных, за которыми нужно проводить наблюдение. Аудит выполняется на уровне экземпляра SQL Server. Для каждого экземпляра SQL Server можно выполнить несколько аудитов. Объект Спецификация аудита на уровне базы данных также принадлежит подсистеме аудита. Для аудита вы можете создать одну спецификацию аудита базы данных для каждой базы данных SQL Server. Дополнительные сведения см. в статье Аудит SQL Server (ядро СУБД).

Ограничения

Спецификации аудита базы данных являются незащищаемыми объектами, которые находятся в определенной базе данных. После создания спецификация аудита базы данных находится в отключенном состоянии.

Если спецификация аудита базы данных создается или изменяется в пользовательской базе данных, не включайте действия аудита для объектов области сервера, таких как системные представления. Если вы включаете объекты с областью действия сервера, создается аудит. Но объекты с областью действия сервера не включены, и ошибка не возвращается. Для аудита объектов с областью действия сервера используйте спецификацию аудита базы данных в master базе данных.

Спецификации аудита базы данных находятся в базе данных, где они созданы, за исключением системной tempdb базы данных.

Разрешения

  • Пользователи, имеющие ALTER ANY DATABASE AUDIT разрешение, могут создавать спецификации аудита базы данных и привязывать их к любому аудиту.

  • После создания спецификации аудита базы данных субъекты, имеющие CONTROL SERVER или ALTER ANY DATABASE AUDIT разрешения, могут просматривать его. Учетная sysadmin запись также может просматривать ее.

Использование SQL Server Management Studio

Создание аудита сервера

  1. В обозревателе объектов раскройте папку Безопасность .

  2. Щелкните правой кнопкой мыши папку Аудиты и выберите пункт Создать аудит. Дополнительные сведения см. в статье Создание аудита сервера и спецификации аудита сервера.

  3. Выбрав параметры, нажмите ОК.

Создание спецификации аудита на уровне базы данных

  1. В обозревателе объектов разверните базу данных, в которой необходимо создать спецификацию аудита.

  2. Разверните папку Безопасность .

  3. Щелкните правой кнопкой мыши папку Спецификации аудита базы данных и выберите пункт Создать спецификацию аудита базы данных.

    В диалоговом окне Создание спецификации аудита базы данных доступны следующие параметры:

    Имя

    Имя спецификации аудита базы данных. Имя формируется автоматически во время создания новой спецификации аудита сервера. Имя можно изменять.

    Аудит

    Имя существующего объекта аудита сервера. Введите имя аудита или выберите его из списка.

    Тип действия аудита

    Указывает группы действий аудита на уровне базы данных и действия аудита для захвата. Список групп действий аудита на уровне базы данных и действия аудита и описания событий, содержащихся в них, см. в разделе "Группы действий аудита SQL Server" и "Действия".

    Схема объекта

    Отображает схему для указанного Имени объекта.

    Имени объекта

    Имя объекта для аудита. Этот параметр доступен только для действий аудита. Он не применяется к группам аудита.

    Кнопка с многоточием (...)

    Открывает диалоговое окно Выбор объектов для просмотра и выбора доступного объекта на основе указанного Типа действия аудита.

    Имя участника

    Учетная запись для фильтрации аудита для объекта, подвергнутого аудиту.

    Кнопка с многоточием (...)

    Открывает диалоговое окно Выбор объектов для просмотра и выбора доступного объекта на основе указанного значения Имя объекта.

  4. Выбрав параметры, нажмите ОК.

Использование Transact-SQL

Создание аудита сервера

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Вставьте следующий пример в окно запроса и нажмите кнопку Выполнить.

    USE master;
    GO
    
    -- Create the server audit.
    CREATE SERVER AUDIT Payroll_Security_Audit TO FILE (FILEPATH = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA');
    GO
    
    -- Enable the server audit.
    ALTER SERVER AUDIT Payroll_Security_Audit
    WITH (STATE = ON);
    

Создание спецификации аудита на уровне базы данных

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Вставьте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается спецификация аудита базы данных с именем Audit_Pay_Tables. Выполняется аудит инструкций SELECT и INSERT от пользователя dbo для таблицы HumanResources.EmployeePayHistory на основе аудита сервера, определенного в предыдущем разделе.

    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 dbo
    )
    WITH (STATE = ON);
    GO