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

Применимо к:SQL Server

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

В этом разделе

Перед началом

Ограничения

  • Аудит должен существовать, прежде чем для него будет создана спецификация аудита сервера. Спецификация аудита сервера после создания находится в отключенном состоянии.

  • Инструкция CREATE SERVER AUDIT относится к области транзакции. Если выполняется откат транзакции, происходит также откат этой инструкции.

Безопасность

Разрешения

  • Чтобы создать, изменить или удалить аудит сервера, участникам требуется разрешение ALTER ANY SERVER AUDIT или CONTROL SERVER.

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

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

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

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

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

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

    На странице Общие диалогового окна Создание аудита доступны следующие параметры.

    Имя аудита
    Имя аудита. Формируется автоматически при создании нового аудита, но может быть изменено.

    Задержка очереди (в миллисекундах)
    Определяет задержку в миллисекундах, после которой продолжается выполнение действий аудита. Значение 0 соответствует синхронной доставке. Минимальное значение по умолчанию — 1000 (1 секунда). Максимальное значение составляет 2 147 483 647 (2 147 483,647 секунд или 24 дня, 20 часов, 31 минута и 23,647 секунд).

    При сбое журнала аудита:
    Продолжить
    Операции SQL Server продолжаются. Записи аудита не сохраняются. Аудит продолжает попытки регистрации событий и будет возобновлен, если причина сбоя будет устранена. Выбор варианта Продолжить разрешает непроверенные действия, которые могут нарушать политики безопасности. Выберите этот параметр при продолжении работы ядра СУБД, чем обслуживание полного аудита. Это параметр выбирается по умолчанию.

    Завершение работы сервера
    Приводит к остановке сервера, когда экземпляр сервера, который выполняет запись по назначению, не может записать данные в цель аудита. Имя входа, выполняющее эту команду, должно иметь разрешение SHUTDOWN . Если учетная запись не имеет этого разрешения, то функция завершится неуспешно и будет выдано сообщение об ошибке. Отсутствуют события аудита. Выберите этот параметр, если сбой аудита может нанести ущерб безопасности или целостности системы.

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

    Внимание

    Когда аудит находится в состоянии сбоя, выделенное административное соединение может продолжать выполнять подвергающиеся аудиту события.

    СписокНазначение аудита
    Указывает цель для данных аудита. Возможные варианты — двоичный файл, журнал событий приложений Windows или журнал безопасности Windows. SQL Server не может записывать данные в журнал безопасности Windows без настройки дополнительных параметров в Windows. Дополнительные сведения см. в статье Запись событий подсистемы аудита SQL Server в журнал безопасности.

    Путь к файлу
    Указывает местоположение папки, в которую записываются данные аудита, если Тип назначения аудита — файл.

    Кнопка с многоточием (...)
    Открывает диалоговое окно "Найти папку -server_name" , чтобы указать путь к файлу или создать папку, в которой записывается файл аудита.

    Максимальное количество файлов аудита:
    Максимальное число файлов продолжения
    Указывает, что при достижении максимального числа файлов аудита самые старые файлы аудита перезаписываются новым содержимым.

    Максимальное число файлов
    Указывает, что при достижении максимального числа файлов аудита любое действие, которое вызывает создание дополнительных событий аудита, завершится с ошибкой.

    ФлажокНеограниченное количество
    При установке флажка Неограниченное количество для параметра Максимальное число файлов продолжения отсутствует ограничение на число создаваемых файлов аудита. Флажок Неограниченное количество установлен по умолчанию и используется для параметров Максимальное число файлов продолжения и Максимальное число файлов .

    ПолеКоличество файлов
    Указывает количество создаваемых файлов аудита, до 2 147 483 647. Этот параметр доступен, только если флажок Неограниченное количество снят.

    Максимальный размер файла
    Определяет максимальный размер для файла аудита, в мегабайтах (МБ), гигабайтах (ГБ) или терабайтах (ТБ). Можно указать значение до 2 147 483 647 ТБ. Установка флажка в поле Неограниченное количество не налагает ограничения на размер файла. Флажок Неограниченное количество установлен по умолчанию.

    ФлажокРезервирование места на диске
    Указывает, что пространство, заранее выделенное на диске, равно указанному максимальному размеру файла. Этот параметр можно использовать, только если не установлен флажок Неограниченное количество для параметра Максимальный размер файла . Это флажок по умолчанию не установлен.

  3. Кроме того, на странице Фильтр введите предикат или предложение WHERE относительно аудита сервера для указания дополнительных параметров, недоступных на странице Общие . Заключите предикат в круглые скобки, например: (object_name = 'EmployeesTable').

  4. После завершения выбора параметров нажмите кнопку ОК.

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

  1. В обозревателе объектов щелкните знак «плюс», чтобы развернуть папку Безопасность .

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

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

    Наименование
    Имя спецификации аудита сервера. Этот текст формируется автоматически во время создания новой спецификации аудита сервера, однако он доступен для изменения.

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

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

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

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

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

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

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

  3. Закончив, нажмите ОК.

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

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

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

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

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

    -- Creates a server audit called "HIPAA_Audit" with a binary file as the target and no options.  
    CREATE SERVER AUDIT HIPAA_Audit  
        TO FILE ( FILEPATH ='E:\SQLAudit\' );  
    

Заметка

Несмотря на то, что в качестве цели файла аудита можно использовать UNC-путь, следует соблюдать осторожность. При наличии задержки в сети на пути к этой общей папке может возникнуть замедление в SQL Server, так как потоки ожидают записи аудита, прежде чем продолжить. В журнале ошибок SQL Server можно наблюдать различные сообщения об ошибках, например 17894:

2020-02-07 12:21:35.100 Server Dispatcher (0x7954) из пула диспетчеров "Основной пул диспетчеров XE Engine ", рабочая роль 0x00000058E7300000 не возвращает результат на узле 0.

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

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

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

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

    /*Creates a server audit specification called "HIPAA_Audit_Specification" that audits failed logins for the SQL Server audit "HIPAA_Audit" created above.  
    */  
    
    CREATE SERVER AUDIT SPECIFICATION HIPAA_Audit_Specification  
    FOR SERVER AUDIT HIPAA_Audit  
        ADD (FAILED_LOGIN_GROUP);  
    GO  
    -- Enables the audit.   
    
    ALTER SERVER AUDIT HIPAA_Audit  
    WITH (STATE = ON);  
    GO  
    

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