Создание аудита сервера и спецификации аудита сервера
Область применения: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
Создание аудита сервера
В обозревателе объектов раскройте папку Безопасность .
Щелкните правой кнопкой мыши папку Аудиты и выберите пункт Создать аудит....
На странице Общие диалогового окна Создание аудита доступны следующие параметры.
Имя аудита
Название аудита. Формируется автоматически при создании нового аудита, но может быть изменено.Задержка очереди (в миллисекундах)
Определяет количество времени в миллисекундах, которое может пройти до того, как действия аудита будут принудительно обработаны. Значение 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 ТБ. Установка флажка в поле Неограниченное количество не налагает ограничения на размер файла. Флажок Неограниченное количество установлен по умолчанию.Флажок Резервирование места на диске
Указывает, что пространство, заранее выделенное на диске, равно указанному максимальному размеру файла. Этот параметр можно использовать, только если не установлен флажок Неограниченное количество для параметра Максимальный размер файла . Это флажок по умолчанию не установлен.Кроме того, на странице Фильтр введите предикат или предложение
WHERE
относительно аудита сервера для указания дополнительных параметров, недоступных на странице Общие . Заключите предикат в круглые скобки, например:(object_name = 'EmployeesTable')
.После завершения выбора параметров нажмите кнопку ОК.
Создание спецификации аудита сервера
В обозревателе объектов щелкните знак «плюс», чтобы развернуть папку Безопасность .
Щелкните правой кнопкой мыши папку Спецификации аудита сервера и выберите пункт Создать спецификацию аудита сервера....
В диалоговом окне Создание спецификации аудита сервера доступны следующие параметры.
Имя
Имя спецификации аудита сервера. Этот текст формируется автоматически во время создания новой спецификации аудита сервера, однако он доступен для изменения.Аудит
Имя существующего аудита сервера. Введите имя аудита или выберите его из списка.Тип действия аудита
Указывает группы действий аудита на уровне сервера и действия аудита для регистрации. Список групп действий аудита на уровне сервера и действий аудита, а также описание содержащихся в них событий см. в статье Действия и группы действий подсистемы аудита SQL Server.Схема объекта
Отображает схему для указанного Имени объекта.Имя объекта
Имя объекта для аудита. Доступно только для действий аудита и неприменимо к группам аудита.Кнопка с многоточием (...)
Открывает диалоговое окно Выбор объектов для просмотра и выбора доступного объекта на основе указанного Типа действия аудита.Имя главного участника
Учетная запись для фильтрации аудита для объекта, подвергнутого аудиту.Кнопка с многоточием (...)
Открывает диалоговое окно Выбор объектов для просмотра и выбора доступного объекта с учетом указанного параметра Имя объекта.Закончив, нажмите ОК.
Использование Transact-SQL
Создание аудита сервера
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
-- 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 Серверный диспетчер (0x7954) из пула диспетчеров "Основной пул диспетчеров XE Engine", поток 0x00000058E7300000 кажется неуступчивым на узле 0.
Создание спецификации аудита сервера
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
/*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).