ALTER SERVER AUDIT (Transact-SQL)
Изменяет объект аудита сервера с помощью функции аудита SQL Server. Дополнительные сведения см. в разделе Основные сведения о подсистеме аудита SQL Server.
Синтаксис
ALTER SERVER AUDIT audit_name
{
[ TO { { FILE ( <file_options> [, ...n] ) } | APPLICATION_LOG | SECURITY_LOG } ]
[ WITH ( <audit_options> [, ...n] ) ]
}
| MODIFY NAME = new_audit_name
[ ; ]
<file_options>::=
{
FILEPATH = 'os_file_path'
| MAXSIZE = { max_size { MB | GB | TB } | UNLIMITED }
| MAX_ROLLOVER_FILES = { integer | UNLIMITED }
| RESERVE_DISK_SPACE = { ON | OFF }
}
<audit_options>::=
{
QUEUE_DELAY =integer
| ON_FAILURE = { CONTINUE | SHUTDOWN }
| STATE = = { ON | OFF }
}
Аргументы
TO { FILE | APPLICATION_LOG | SECURITY }
Определяет расположение целевого объекта аудита. Возможные режимы — двоичный файл, журнал событий приложений Windows или журнал безопасности Windows.Примечание Функция записи в журнал безопасности недоступна в Windows XP.
FILEPATH = 'os_file_path'
Путь следа аудита. Имя файла формируется на основе имени аудита и его идентификатора GUID.MAXSIZE **=**max_size
Задает максимальный размер, до которого может увеличиваться файл аудита. Значение max_size должно быть целым числом с суффиксом MB, GB, TB или UNLIMITED. Минимальный размер, который можно указать для аргумента max_size, составляет 2 MB, а максимальный — 2 147 483 647 TB. Если указано значение UNLIMITED, увеличение размера файла будет происходить до заполнения диска. Если указано значение менее 2 МБ, возникнет ошибка MSG_MAXSIZE_TOO_SMALL. Значение по умолчанию — UNLIMITED.MAX_ROLLOVER_FILES **=**integer | UNLIMITED
Задает максимальное число файлов, которые хранятся в файловой системе. Если установлено значение MAX_ROLLOVER_FILES=0, отсутствует ограничение на число создаваемых файлов продолжения. Значение по умолчанию равно 0. Максимальное число файлов, которое можно указать, составляет 2 147 483 647.RESERVE_DISK_SPACE = { ON | OFF }
Этот параметр заранее размещает на диске файл в соответствии со значением MAXSIZE. Применяется, только если значение MAXSIZE не равно UNLIMITED. Значение по умолчанию — OFF.QUEUE_DELAY **=**integer
Определяет задержку в миллисекундах, после которой продолжается выполнение действий аудита. Значение 0 соответствует синхронной доставке. Минимальное значение задаваемой задержки запроса составляет 1000 (1 секунда), и это значение используется по умолчанию. Максимальное значение составляет 2 147 483 647 (2 147 483,647 секунд или 24 дня, 20 часов, 31 минута и 23,647 секунд). Если указано недопустимое значение, произойдет ошибка MSG_INVALID_QUEUE_DELAY.ON_FAILURE = { CONTINUE | SHUTDOWN }
Указывает, будет ли экземпляр продолжать работу, если целевому объекту не удается произвести запись. Имя входа, выполняющее эту команду, должно иметь разрешение SHUTDOWN. Если учетная запись входа не имеет этого разрешения, функция завершится ошибкой с сообщением MSG_NO_SHUTDOWN_PERMISSION. Значение по умолчанию — CONTINUE.STATE = { ON | OFF }
Включает или отключает аудит из сбора записей. При изменении состояния работающего аудита (из ON в OFF) создается запись аудита об остановке аудита, об остановившем аудит участнике и времени остановки аудита.MODIFY NAME = new_audit_name
Изменяет имя аудита. Нельзя использовать совместно ни с каким другим параметром.
Замечания
В вызове ALTER AUDIT надо указывать хотя бы одно предложение из TO, WITH и MODIFY NAME.
Чтобы внести изменения в аудит, для состояния аудита необходимо установить параметр OFF. Если инструкция DROP AUDIT выполняется, когда аудит включен с любыми параметрами, отличными от STATE=OFF, будет получено сообщение об ошибке MSG_NEED_AUDIT_DISABLED.
Можно добавлять, изменять или удалять спецификации аудита без остановки аудита.
После создания аудита нельзя изменить его идентификатор GUID.
Разрешения
Чтобы создать, изменить или удалить участника на уровне сервера, требуется разрешение ALTER ANY SERVER AUDIT или CONTROL SERVER.
Примеры
А. Изменение имени аудита сервера
В данном примере показано изменение имени аудита базы данных с HIPPA_Audit на HIPAA_Audit_Old.
USE master
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit
MODIFY NAME = HIPAA_Audit_Old;
GO
ALTER SERVER AUDIT HIPAA_Audit_Old
WITH (STATE = ON);
GO
Б. Изменение цели аудита сервера
В следующем примере аудит сервера с именем HIPPA_Audit изменяется на целевой файл.
USE master
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit
TO FILE (FILEPATH ='\\SQLPROD_1\Audit\',
MAXSIZE = 1000 MB,
RESERVE_DISK_SPACE=OFF)
WITH (QUEUE_DELAY = 1000,
ON_FAILURE = CONTINUE);
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = ON);
GO
См. также