DB Optimizer: свобода - осознанная необходимость

Большинство моих коллег-друзей-знакомых  администрируют базы данных, поэтому для них вполне естественно подключаться к БД с максимальными правами DBA. В то же время, Embarcadero DB Optimizer могут с успехом применять и разработчики программного обеспечения, предназначенного работать на стороне сервера БД. Написав сложную процедуру, триггер или запрос на SQL они сразу могут проверить, насколько это работает производительно и эффективно, провести тестирование работоспособности кода под планируемой или максимальной нагрузкой еще до того, как это программное обеспечение попадет в "боевую" систему. С одной стороны, программисту-разработчику не нужен уровень привилегий системного администратора БД, с другой - это даже опасно: программеры люди настолько творческие, что им ничего не стоит сделать из БД "черный квадрат супрематизма" из самых лучших гуманистических побуждений.

 

Embarcadero DB Optimizer Profiling

Недавно мне был задан вопрос: какими минимально достаточными привилегиями должен обладать пользователь MS SQL Server, чтобы он смог проводить профилирование его работы при помощи DB Optimizer?

В руководстве пользователя есть перечень требований, где сказано:

необходимые привилегии:
Для любого сервера уровня SYSADMIN достаточно.

Можно ли снизить этот уровень?

Для MS SQL 2000 пользователь должен входить в SYSADMIN - никаких других вариантов.

Для 2008 and 2005 достаточно иметь права "VIEW SERVER STATE" и "SELECT" на любую БД или объект.

Затруднение понимания вызывает именно последнее: права "SELECT".
Ответ прост: DB Optimizer для профилирования требуются права на чтение из master. Надо дать этому логину master, как дефолтную БД и права на SELECT к любому объекту какой-нибудь базы.

И конечно,  права на CONNECT :)


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=25763