Поделиться через


Моменты, которые следует учитывать при создании функции-классификатора

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

Перед использованием определяемой пользователем функции-классификатора для классификации входящих запросов ее следует проверить и оптимизировать. Неправильно написанная функция может нарушить работоспособность системы, создавая задержки и раскрывая данные конфигурации. Чтобы устранить неполадки неправильно написанной функции-классификатора можно использовать выделенное административное соединение, поскольку оно не подлежит классификации и может использоваться, даже если регулятор ресурсов работает и выполняет классификацию входящих сеансов. Дополнительные сведения см. в разделе Использование выделенного административного соединения.

ПримечаниеПримечание

Если выделенное административное соединение недоступно для устранения неполадок, можно перезапустить систему в однопользовательском режиме. Хотя однопользовательский режим не подлежит классификации, нельзя выполнить диагностику классификации регулятора ресурсов, пока он работает.

В функциях-классификаторах можно использовать существующие системные функции, а также значения, которые эти функции возвращают для сеансов классификации.

Функции

Для классификации можно использовать следующие системные функции: HOST_NAME(), APP_NAME(), SUSER_NAME(), SUSER_SNAME(), IS_SRVROLEMEMBER() и IS_MEMBER().

ПредупреждениеВнимание!

При создании функции, возвращающей свойство, которое используется для классификации, необходимо сначала рассмотреть, является ли оно безопасным. Если нет, необходимо оценить риск использования данного атрибута. Функции HOST_NAME() и APP_NAME() возвращают свойства, которые не являются безопасными. Например, функция APP_NAME() может вернуть любое значение, указанное в строке соединения для приложения.

Функция LOGINPROPERTY была дополнена двумя свойствами, которые можно использовать для классификации: DefaultDatabase и DefaultLanguage. Кроме того, функция ORIGINAL_DB_NAME позволяет извлечь имя базы данных, указанное в пользовательской строке соединения.

В регуляторе ресурсов реализована также функция CONNECTIONPROPERTY, предоставляющая дополнительные свойства, которые могут быть использованы для классификации. Эта функция возвращает для уникального соединения такие же значения свойств, как и указанные в запросе, поступившем относительно соответствующих столбцов динамического административного представления sys.dm_exec_connections.