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

Применимо к: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 Payrole_Security_Audit  
        TO FILE ( FILEPATH =   
    'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA' ) ;   
    GO  
    -- Enable the server audit.   
    ALTER SERVER AUDIT Payrole_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 Payrole_Security_Audit  
    ADD (SELECT , INSERT  
         ON HumanResources.EmployeePayHistory BY dbo )   
    WITH (STATE = ON) ;   
    GO  
    
    

Дополнительные сведения см. в разделе CREATE SERVER AUDIT (Transact-SQL) и CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).