Локальные переменные среды
Можно изменить режим работы Microsoft SQL Server agent, сконфигурировав локальные переменные среды.
Переменные для проверки доступности службы SQL Server
- COLL_MSSQL_RETRY_INTERVAL: Эта переменная задает интервал повторных попыток (в минутах) для проверки состояния службы SQL Server. Если это значение меньше или равно 0, то для переменной задается значение по умолчанию (1 минута).
- COLL_MSSQL_RETRY_CNT: Эта переменная задает число повторных попыток, которые агент SQL Server выполняет, чтобы проверить, запущена ли служба SQL Server. Если по достижении этого числа повторных попыток, которое задано в этой переменной, служба SQL Server не запустится, сборщик перестанет работать. Если значение переменной меньше или равно 0, переменная примет значение по умолчанию, равное 3.
Переменные для мониторинга файла журнала ошибок SQL Server
- COLL_ERRORLOG_STARTUP_MAX_TIME: Эта переменная задает промежуток времени (Т) для сбора ошибок перед запуском агента. Значение по умолчанию - 0 минут. Возможные значения этой переменной:
- COLL_ERRORLOG_STARTUP_MAX_EVENT_ROW: Эта переменная задает максимальное число ошибок, которое нужно обработать при запуске агента. Значение по умолчанию - 0. Для этой переменной можно задать следующие значения:
- COLL_ERRORLOG_MAX_EVENT_ROW: Эта переменная задает число строк ошибок. Значение по умолчанию - 50. Для этой переменной можно задать следующие значения:
- COLL_ERRORLOG_RECYCLE_WAIT: Эта переменная задает интервал времени (в секундах), в течение которого Microsoft SQL Server agent будет ждать, прежде чем произвести сбор данных для группы атрибутов Подробности событий ошибок MS SQL, когда инициируется ситуация для этой группы атрибутов. Этой переменной можно присвоить значение в диапазоне от 1 до 30. Если значение этой переменной меньше 0, переменная примет значение по умолчанию - ноль (секунд). Если значение этой переменной больше 0, переменная примет значение по умолчанию 30 (секунд).
Переменная для срока ожидания запроса
- QUERY_TIMEOUT: Эта переменная среды задает максимальное время (в секундах), в течение которого агент SQL Server ожидает получения ответа на запрос, отправленный в SQL Server. Значение этой переменной должно быть меньше 45 секунд. Однако если для этой переменной задано 0 секунд, то агент SQL Server ожидает ответ от SQL Server бесконечно долго. Если агент SQL Server обращается ко многим заблокированным базам данных, то задайте для этой переменной значение в диапазоне 10 - 20 секунд. Если запрос не обработан в течение заданного срока ожидания, то агент SQL Server пропускает этот запрос и переходит к следующему запросу в очереди. Агент не показывает данные для запросов со сроком ожидания.
- QUERY_THREAD_TIMEOUT: Эта переменная среды задает максимальное время (в секундах), в течение которого агент SQL Server ожидает получения ответа на запрос, отправленный в SQL Server. Эти переменные среды применимы к нескольким группам атрибутов, использующим собрание в потоке. Например, KOQDBD, KOQTBLD, KOQDEVD и т.п. Значение этой переменной не ограничено, как в случае переменной QUERY_TIMEOUT. В противном случае она действует аналогично переменной QUERY_TIMEOUT.
Переменная для просмотра информации о разрешенных заданиях
Чтобы посмотреть информацию о разрешенных заданиях в наборе данных Подробности задания MS SQL, задайте переменную среды COLL_JOB_DISABLED. Если для этой переменной задано 1, то Microsoft SQL Server agent не показывает информацию о запрещенных заданиях. Если эта переменная не задана, то вы можете просматривать информацию о разрешенных и запрещенных заданиях.
Переменная для ограничения числа строк в наборе данных Подробности группы файлов MS SQL
- Укажите максимальное число строк для KOQFGRPD в файле koqcoll.ctl.
- Добавьте переменную среды COLL_KOQFGRPD_MAX_ROW и убедитесь, что значение этой переменной совпадает со значением, заданным в файле koqcoll.ctl.
Если значение в файле koqcoll.ctl будет меньше, чем заданное для переменной среды COLL_KOQFGRPD_MAX_ROW значение, в качестве значения для максимального числа строк будет использоваться значение из файла koqcoll.ctl.
Если значение в файле koqcoll.ctl больше, чем заданное для переменной среды COLL_KOQFGRPD_MAX_ROW значение, в качестве значения для максимального числа строк будет использоваться значение переменной среды COLL_KOQFGRPD_MAX_ROW.
Переменные для расширения сбора данных для набора Подробности группы файлов MS SQL
Используйте переменную среды COLL_DBD_FRENAME_RETRY_CNT, чтобы задать количество попыток перемещения файла %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__FGRP_TEMP в файл %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__FGRP_PREV.
Если не указать значение для этой переменной, Microsoft SQL Server agent выполнит три попытки перемещения этого файла.
Переменная для ограничения числа строк в наборе данных Подробности устройства MS SQL
- Укажите максимальное число строк для KOQDEVD в файле koqcoll.ctl.
- Добавьте переменную среды COLL_KOQDEVD_MAX_ROW и убедитесь, что значение этой переменной совпадает со значением, заданным в файле koqcoll.ctl.
Если значение в файле koqcoll.ctl будет меньше, чем заданное для переменной среды COLL_KOQDEVD_MAX_ROW значение, в качестве значения для максимального числа строк будет использоваться значение из файла koqcoll.ctl.
Если значение в файле koqcoll.ctl больше, чем заданное для переменной среды COLL_KOQDEVD_MAX_ROW значение, в качестве значения для максимального числа строк будет использоваться значение переменной среды COLL_KOQDEVD_MAX_ROW.
Переменные для расширения сбора данных для набора Подробности устройства MS SQL
- COLL_KOQDEVD_INTERVAL: Эта переменная среды позволяет задать интервал времени (в минутах) между двумя последовательными собраниями в наборе данных Подробности устройства MS SQL.
Прим.: По умолчанию сбор данных для набора Подробности устройства основан на требовании. Используйте переменную COLL_KOQDEVD_INTERVAL, чтобы запустить основанное на потоке собрание для набора данных Подробности устройства, и задайте интервал времени между двумя потоковыми собраниями.
- COLL_DBD_FRENAME_RETRY_CNT: Используйте эту переменную среды, чтобы задать количество попыток перемещения файла %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__DEVD_TEMP в файл %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__DEVD_PREV.
Переменные для расширения сбора данных для набора Подробности базы данных MS SQL
- COLL_KOQDBD_INTERVAL: Используйте эту переменную среды, чтобы задать интервал времени
(в минутах) между двумя последовательными сборами данных на основе потока для набора данных Подробности базы данных MS SQL. Если вы не
зададите значение для этой переменной или если заданный интервал времени меньше 3 минут,
Microsoft SQL Server agent по умолчанию будет использовать 3-минутный интервал. Если сбор данных занимает больше времени или если данные часто бывают помечены как NOT_COLLECTED (не собраны), вы можете проверить время сбора
данных, посмотрев журнал
Database Detail Collection completed in %d seconds(Сбор сведений базы данных, завершившийся за %d секунд) и задав для переменной значению, превышающее время сбора данных, заданное в журнале. - COLL_DBD_FRENAME_RETRY_CNT: Используйте эту переменную среды, чтобы задать количество попыток перемещения файла %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__DBD_TEMP в файл %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__DBD_PREV.
Переменные для расширения сбора данных для набора Подробности аудита MS SQL
- COLL_AUDIT_TYPE: используйте эту переменную для включения или отключения мониторинга конкретных журналов. Значение этой переменной по умолчанию - [AL][FL][SL]. По умолчанию агент отслеживает журналы всех трех типов, которые включают в себя журналы прикладных программ, файлы аудита и журналы защиты. Значение этой переменной включает в себя двухсимвольный код для каждого типа журнала:
- [AL] для журналов прикладных программ
- [FL] для файлов аудита
- [SL] для журналов защиты
- COLL_AUDIT_DURATION: Используйте эту переменную для составления отчета о событиях аудита, которые произошли в течение интервала времени, указанного в этой переменной. Например, если задать для этой переменной значение 7, в наборе данных Подробности аудита появятся только события аудита, произошедшие в течение последних 7 часов. Значение по умолчанию для переменной COLL_AUDIT_DURATION - 24 часа.
- COLL_AUDIT_COLLECTION_INTERVAL: Потоковое собрание в наборе данных Подробности аудита предоставляет спецификации всех баз данных, присутствующих в экземпляре SQL Server. Используйте эту переменную, чтобы задать интервал для данного потокового собрания. Например, если задать для этой переменной значение 7, обновленный набор спецификаций баз данных будет извлекаться из экземпляра SQL Server через каждые 7 часов. Значение по умолчанию для переменной COLL_AUDIT_COLLECTION_INTERVAL - 24 часа.
Переменная для расширения сбора данных для набора Подробности процессов MS SQL
- Если COLL_PROC_BLOCK_INTERVAL = 0, сбор данных для атрибутов Длительность блокировки процесса и Длительность блокировки ресурсов отключается.
- Если COLL_PROC_BLOCK_INTERVAL = x, интервалом между двумя последовательными собраниями данных для атрибутов Длительность блокировки процесса и Длительность блокировки ресурсов будет x минут.
Переменная для исключения блокированных объектов из собрания данных
Если запросам, отправленным для рабочих пространств Подробности базы данных, Подробности группы файлов и Подробности устройства, требуется длительное время для выполнения, используйте переменную COLL_DBCC_NO_LOCK, чтобы запускать запрос со значением WITH (NOLOCK). При задании этой переменной запрос не ожидает в очереди, когда объект, для которого он запущен, блокирован.
Переменная, задающая критерий сортировки для возвращаемых набором данных Подробности таблицы строк
Строки, возвращаемые набором данных Подробности таблицы, сортируются в порядке убывания в зависимости от значения, заданного для переменной COLL_TBLD_SORTBY. Значение по умолчанию для переменной COLL_TBLD_SORTBY - это FRAG (процент фрагментации). Допустимы следующие значения: ROWS (число строк в таблицах), SPACE (используемое таблицей пространство) и OPTSAGE (возраст статистики оптимизатора для таблицы).
Переменная для расширения сбора данных для наборов Подробности проблем MS SQL и Сводка проблем
- COLL_ALERT_SEV: Используйте эту переменную, чтобы задать уровень серьезности сообщений об ошибках, выводимых в наборах данных Подробности проблем и Сводка проблем. Сообщения об ошибках, уровень серьезности которых равен или выше значения, указанного в этой переменной, выводятся в наборах данных Подробности проблем и Сводка проблем. Например, если задать для этой переменной значение 10, в наборах данных Подробности проблем и Сводка проблем будут выведены сообщения об ошибках с уровнем серьезности 10 и выше. Если не указывать значение для этой переменной, в наборах данных Подробности проблем и Сводка проблем будут выводиться сообщения об ошибках с уровнем серьезности 17 и выше.
- COLL_SINCE_ERRORLOG_RECY: Используйте эту переменную, чтобы отслеживать в текущем файле ERRORLOG только ошибки с высоким уровнем серьезности. Если не указать значение для этой переменной, предполагается значение 0, то есть при сборе данных набор данных Сводка проблем будет рассматривать также ошибки высокого уровня серьезности, прочитанные из предыдущего файла ERRORLOG. Чтобы отслеживать в текущем файле ERRORLOG только ошибки с высоким уровнем серьезности, задайте для этой переменной значение 1.
Переменные для задания срока ожидания
- WAIT_TIMEOUT: Используйте эту переменную, чтобы задать интервал времени ожидания для Microsoft SQL Server agent. Если для сбора данных любым набором данных требуется больше 45 секунд, может зависнуть агент или могут неправильно инициироваться ситуации. Проверьте журнал для наборов данных, которым требуется больше 45 секунд для сбора данных, и используйте переменную WAIT_TIMEOUT, чтобы увеличить время ожидания между процессом агента и процессом сборщика.
- COLL_DB_TIMEOUT: Используйте эту переменную, чтобы определить интервал ожидания (в секундах) завершения любого требования, такого как запуск запроса для существующего соединения с SQL Server, прежде чем вернуться в прикладную программу. Если задать для этой переменной значение 0, срок не истекает. Если не указать значение для этой переменной, агент будет выжидать 15 секунд до возвращения в прикладную программу.
Переменные для задания свойств файлов журнала сборщика
- COLL_WRAPLINES: Используйте эту переменную, чтобы задать максимальное число строк в файле col.out. Значение этой переменной по умолчанию - 90000 строк (примерно 2 Мбайта).
- COLL_NUMOUTBAK: Используйте эту переменную, чтобы задать число резервных копий файлов журнала сборщика, которые нужно создать. По умолчанию создается пять резервных копий файла журнала сборщика. Файл резервной копии называется *.out. Когда этот файл резервной копии заполнен, он переименовывается в *.ou1, а новые записи вносятся в файл *.out. Таким образом, если используется пять файлов резервных копий, самые старые записи доступны в файле *.ou5, а самые новые - в файле *.out.Можно создать больше пяти резервных копий копий файлов журнала сборщика, задав одно из следующих значений для переменной COLL_NUMOUTBAK:
- Если нужно меньше 10 файлов резервных копий, укажите число создаваемых файлов резервных копий в переменной COLL_NUMOUTBAK. Например, если в переменной COLL_NUMOUTBAK задать значение 9, будет создано девять файлов резервных копий.
- Если нужно больше 9 файлов резервных копий, но меньше 1000, укажите это число в переменной COLL_NUMOUTBAK с предшествующим дефисом. Например, если задать в переменной COLL_NUMOUTBAK значение -352, будет создано триста пятьдесят два файла резервных копий.
- COLL_DEBUG: Используйте эту переменную для включения полной трассировки сборщика, задав для нее значение dddddddddd (10 букв
d
).
Переменная для удаления временных файлов
COLL_TMPFILE_DEL_INTERVAL: Используйте эту переменную, чтобы задать интервал времени (в секундах), после которого должны удаляться временные файлы KOQ_<отметка_времени>. Если не указать значение для этой переменной, этим значением будет 0, то есть временные файлы должны удаляться немедленно.
Переменная для изменения драйвера, используемого агентом MS SQL Server
Переменная для соединения с базой данных SQL Server с возможностью работы с AlwaysOn
Подробности опции KOQ_APPLICATION_INTENT:
- Readonly: Соединение с ApplicationIntent открывается в режиме readonly.
- Readwrite: Соединение с ApplicationIntent открывается в режиме readwrite.
Если задано Readwrite, агент Microsoft SQL Server не будет выполнять никаких операций записи для этого соединения.
Если драйвер не поддерживает ApplicationIntent, подключение открывается без свойства ApplicationIntent.