Подтвердить что ты не робот

Приоритет запроса в MS SQL

Есть ли способ сообщить MS SQL, что запрос не слишком важен и что он может (и должен) занять свое время?

Также существует способ сообщить MS SQL, что он должен дать более высокий приоритет запросу?

4b9b3361

Ответ 1

Не в версиях ниже SQL 2008. В SQL Server 2008 есть регулятор ресурсов. Используя это, вы можете назначить логины для групп на основе свойств входа (имя пользователя, имя приложения и т.д.). Затем группы могут быть назначены пулам ресурсов и ограничениям или ограничениям i.t.o. ресурсы могут быть применены к этим пулам ресурсов.

Ответ 2

В SQL Server еще нет регулятора ресурсов. Существует опция SET, называемая QUERY_GOVERNOR_COST_LIMIT, но это не совсем то, что вы ищете. И это предотвращает выполнение запросов на основе стоимости, а не контроля ресурсов.

Ответ 3

Я не уверен, что это то, о чем вы просите, но у меня была ситуация, когда один пользовательский интерфейс добавлял 10 000 записей в очередь электронной почты (много данных в теле). В течение следующих нескольких дней вышло электронное письмо, поэтому ему не нужно было быть высокоприоритетным, на самом деле он будет болеть на сервере каждый раз, когда это происходит.

Я разделил процедуру на 10 000 индивидуальных вызовов, запустил процесс в пользовательском интерфейсе в другом потоке (настроен на низкий приоритет) и запустил его на секунду после запуска процедуры. Это заняло некоторое время, но я очень тщательно контролировал то, что он делал.

btw, это НЕ был спам, поэтому не плачьте, думая, что это так.