Приложение, использующее команду KILL для завершения соединения с БД - PullRequest
4 голосов
/ 10 августа 2011

Все,

Я решил, что этого не произойдет, но часто, будучи одним из нескольких администраторов баз в моем магазине, мне нравится слышать опыт других.

У нас есть поставщик, заявляющий, что им требуется членство в роли Processadmin, чтобы их приложение могло УБИТЬ долго выполняемые или отмененные пользователем запросы к их БД.За 10 с лишним лет я никогда не сталкивался с этим как требованием раньше.В настоящее время мы размещаем более 400 баз данных, и ни у одной из них нет пользователей в роли processadmin.На мой взгляд, даже если пользователь отменяет определенный процесс в приложении, код приложения отвечает за корректное открытие и закрытие соединений по мере необходимости.Если запрос занимает «слишком много времени», его нужно настроить.

В зависимости от того, что KILLed, откат может быть довольно обременительным и привести к блокировке.Я также был бы обеспокоен тем, что они могут легко разорвать неправильное соединение в общей среде.
Кто-нибудь еще сталкивался с такой ситуацией?Что-нибудь очевидное, что мне не хватает?

Ответы [ 3 ]

3 голосов
/ 10 августа 2011

Если вы используете KILL для обработки долго выполняющихся запросов, которые не должны выполняться долго, то код T-SQL определенно нуждается в настройке. Если это специальный SQL-запрос, отправляемый движку из конструктора запросов «на лету» на основе того, что пользователи выбирают в качестве своих предпочтений на веб-странице приложения / приложения, то необходимо изучить параметры, предоставляемые пользователю , Я никогда не был сторонником убийства запросов до тех пор, пока не будет другого выбора. Чтобы разрешить производственный сбой (как временное решение или немедленное решение), он может быть приемлемым время от времени, но не практикой.

2 голосов
/ 10 августа 2011

Я бы не стал покупать приложение у такого поставщика, оно должно быть плохо работающим, плохо спроектированным и содержать ошибки. Любой, кто некомпетентен, чтобы не знать, что приложения не должны иметь прав администратора, - это не тот, у кого я купил бы продукт.

0 голосов
/ 10 августа 2011

Хотя processadmin получит им то, что им нужно, вы можете попросить их создать (или создать один от их имени) подписанный модуль, способный уничтожать только определенные процессы (то есть те, которые находятся в их приложении). Но даже тогда я буду резонировать то, что говорят все остальные; это не очень хорошая общая практика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...