Локальные переменные среды

Можно изменить режим работы Microsoft SQL Server agent, сконфигурировав локальные переменные среды.

Переменные для проверки доступности службы SQL Server

Чтобы проверить доступность службы SQL Server, используйте следующие переменные среды:
  • COLL_MSSQL_RETRY_INTERVAL: Эта переменная задает интервал повторных попыток (в минутах) для проверки состояния службы SQL Server. Если это значение меньше или равно 0, то для переменной задается значение по умолчанию (1 минута).
  • COLL_MSSQL_RETRY_CNT: Эта переменная задает число повторных попыток, которые агент SQL Server выполняет, чтобы проверить, запущена ли служба SQL Server. Если по достижении этого числа повторных попыток, которое задано в этой переменной, служба SQL Server не запустится, сборщик перестанет работать. Если значение переменной меньше или равно 0, переменная примет значение по умолчанию, равное 3.

Переменные для мониторинга файла журнала ошибок SQL Server

Для мониторинга набора данных Подробности событий ошибок MS SQL используйте следующие переменные среды:
  • COLL_ERRORLOG_STARTUP_MAX_TIME: Эта переменная задает промежуток времени (Т) для сбора ошибок перед запуском агента. Значение по умолчанию - 0 минут. Возможные значения этой переменной:
    T = 0
    Агент запускает мониторинг файла журнала ошибок с момента запуска или перезапуска агента. Агент не считывает ошибки, записанные в журнал ошибок до запуска агента.
    T = 1
    Агент отслеживает файл журнала ошибок в соответствии со следующими значениями, заданными для переменной COLL_ERRORLOG_STARTUP_MAX_EVENT_ROW (R):
    • Если R < 0, то агент запускает мониторинг файла журнала ошибок с момента запуска или перезапуска агента.
    • Если R = 1, то агент отслеживает все ошибки, внесенные в файл журнала ошибок.
    • Если R > 1 и агент установлен впервые, то агент отслеживает файл журнала ошибок, пока не будет обнаружено R ошибок. Если R > 1 и агент перезапущен, то агент отслеживает все ранее пропущенные ошибки.
    T > 1
    Агент отслеживает все предыдущие ошибки, записанные за T минут до запуска или перезапуска агента. Мониторинг, выполняемый агентом, зависит также от следующих значений переменной COLL_ERRORLOG_STARTUP_MAX_EVENT_ROW:
    • Если R ≤ 0, то агент запускает мониторинг файла журнала ошибок с момента запуска или перезапуска агента.
    • Если R = 1, то агент отслеживает в файле журнала ошибок все ошибки, внесенные в файл журнала ошибок до Т минут.
    • Если R > 1, то агент отслеживает не более R ошибок, записанных за последние Т минут.
  • COLL_ERRORLOG_STARTUP_MAX_EVENT_ROW: Эта переменная задает максимальное число ошибок, которое нужно обработать при запуске агента. Значение по умолчанию - 0. Для этой переменной можно задать следующие значения:
    R = 0
    Агент запускает мониторинг файла журнала ошибок с момента запуска или перезапуска агента. Агент не считывает ошибки, созданные в журнале ошибок до запуска агента.
    R = 1
    Агент отслеживает ошибки, записанные за последние T минут до запуска или перезапуска агента.
    R > 1
    Агент отслеживает R ошибок, записанных за последние T минут.
  • COLL_ERRORLOG_MAX_EVENT_ROW: Эта переменная задает число строк ошибок. Значение по умолчанию - 50. Для этой переменной можно задать следующие значения:
    X = 0
    Агент не показывает журналы ошибок.
    X > 0
    Агент показывает X строк ошибок.
  • COLL_ERRORLOG_RECYCLE_WAIT: Эта переменная задает интервал времени (в секундах), в течение которого Microsoft SQL Server agent будет ждать, прежде чем произвести сбор данных для группы атрибутов Подробности событий ошибок MS SQL, когда инициируется ситуация для этой группы атрибутов. Этой переменной можно присвоить значение в диапазоне от 1 до 30. Если значение этой переменной меньше 0, переменная примет значение по умолчанию - ноль (секунд). Если значение этой переменной больше 0, переменная примет значение по умолчанию 30 (секунд).

Переменная для срока ожидания запроса

Чтобы задать срок ожидания запроса для агента SQL Server, используйте следующие переменные среды:
  • 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

Для ограничения числа строк, которые служба сборщика отбирает для набора данных Подробности группы файлов MS SQL, используйте переменную среды COLL_KOQFGRPD_MAX_ROW. Эта переменная среды определяет максимальное число строк, отбираемых службой сборщика для набора данных Подробности группы файлов MS SQL. Если не указать значение для этой переменной, служба сборщика отберет 10000 строк для набора данных Подробности группы файлов MS SQL. Используйте эту переменную среды для изменения максимального числа строк по умолчанию в файле koqcoll.ctl. Выполните следующие действия для изменения предела по умолчанию:
  1. Укажите максимальное число строк для KOQFGRPD в файле koqcoll.ctl.
  2. Добавьте переменную среды 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

Для ограничения числа строк, которые служба сборщика отбирает для набора данных Подробности устройства MS SQL, используйте переменную среды COLL_KOQDEVD_MAX_ROW. Эта переменная среды определяет максимальное число строк, отбираемых службой сборщика для набора данных Подробности устройства MS SQL. Если не указать значение для этой переменной, служба сборщика отберет 10000 строк для набора данных Подробности устройства MS SQL. Используйте эту переменную среды для изменения максимального числа строк по умолчанию в файле koqcoll.ctl. Выполните следующие действия для изменения предела по умолчанию:
  1. Укажите максимальное число строк для KOQDEVD в файле koqcoll.ctl.
  2. Добавьте переменную среды 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

Для расширения сбора данных в набор Подробности устройства 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.
Если не указать значение для этой переменной, Microsoft SQL Server agent выполнит одну попытку перемещения этого файла.

Переменные для расширения сбора данных для набора Подробности базы данных MS SQL

Для расширения сбора данных в набор Подробности базы данных 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.
Если не указать значение для этой переменной, Microsoft SQL Server agent выполнит одну попытку перемещения этого файла.

Переменные для расширения сбора данных для набора Подробности аудита MS SQL

Для расширения сбора данных в набор Подробности аудита MS SQL используйте следующие переменные среды^
  • COLL_AUDIT_TYPE: используйте эту переменную для включения или отключения мониторинга конкретных журналов. Значение этой переменной по умолчанию - [AL][FL][SL]. По умолчанию агент отслеживает журналы всех трех типов, которые включают в себя журналы прикладных программ, файлы аудита и журналы защиты. Значение этой переменной включает в себя двухсимвольный код для каждого типа журнала:
    • [AL] для журналов прикладных программ
    • [FL] для файлов аудита
    • [SL] для журналов защиты
    Значение переменной можно изменить, чтобы отключить мониторинг журнала конкретного типа. Например, если указать значение этой переменной как [AL][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

Для расширения сбора данных в набор Подробности процессов MS SQL используйте переменную COLL_PROC_BLOCK_INTERVAL со следующими значениями:
  • Если COLL_PROC_BLOCK_INTERVAL = 0, сбор данных для атрибутов Длительность блокировки процесса и Длительность блокировки ресурсов отключается.
  • Если COLL_PROC_BLOCK_INTERVAL = x, интервалом между двумя последовательными собраниями данных для атрибутов Длительность блокировки процесса и Длительность блокировки ресурсов будет x минут.
Если переменная COLL_PROC_BLOCK_INTERVAL не задана в каталоге CANDLE_HOME, интервалом между двумя последовательными собраниями данных будет 3 минуты.

Переменная для исключения блокированных объектов из собрания данных

Если запросам, отправленным для рабочих пространств Подробности базы данных, Подробности группы файлов и Подробности устройства, требуется длительное время для выполнения, используйте переменную 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.

Переменные для задания срока ожидания

Чтобы задать срок ожидания для Microsoft SQL Server agent, можно использовать следующие переменные среды:
  • 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

Чтобы изменить драйвер, используемый компонентом Microsoft SQL Server agent, задайте переменную среды KOQ_ODBC_DRIVER. Эта переменная указывает драйвер, используемый компонентом Microsoft SQL Server agent для соединения с SQL Server. Если не указать значение для этой переменной, агент в качестве драйвера по умолчанию будет использовать драйвер ODBC SQL Server.
Прим.: Если вы зададите драйвер Microsoft SQL Server, убедитесь, что имя драйвера - правильное и что драйвер указан в опции драйверов в источнике данных (ODBC).

Переменная для соединения с базой данных SQL Server с возможностью работы с AlwaysOn

KOQ_APPLICATION_INTENT: Используйте эту переменную, чтобы задать опцию соединения с SQL Server.
Подробности опции KOQ_APPLICATION_INTENT:
  • Readonly: Соединение с ApplicationIntent открывается в режиме readonly.
  • Readwrite: Соединение с ApplicationIntent открывается в режиме readwrite.
    Если задано Readwrite, агент Microsoft SQL Server не будет выполнять никаких операций записи для этого соединения.
Если эта переменная не задана, соединение устанавливается без свойства ApplicationIntent.
Прим.: Драйвер задается переменной среды KOQ_ODBC_DRIVER. Если эта переменная не задана, используется драйвер SQL Server по умолчанию.
Если драйвер не поддерживает ApplicationIntent, подключение открывается без свойства ApplicationIntent.