Перенос разрешений из одного домена в другой в SQL Server - PullRequest
3 голосов
/ 25 февраля 2010

В нижней части большинства наших хранимых процедур у нас есть грант, аналогичный

GRANT EXECUTE ON [dbo].[uspFOO] TO [DOMAIN\SQLServerUsers]

К счастью для меня, наш домен меняется, и теперь нам нужно пройти и изменить разрешения. Кто-нибудь знает простой способ сделать это, используя метаданные БД, чтобы я мог вытащить все места, где [DOMAIN \ SQLServerUsers] дано разрешение на запуск, и заменить его на [DOMAIN2 \ SQLServerUsers]?

Спасибо.

Для тех, кто спрашивает, это на SQL Server 2005.

1 Ответ

1 голос
/ 25 февраля 2010

На какой версии SQL Server вы используете ??

В 2005 году и позже вы могли бы

  • создайте новую роль базы данных "db_executor" и выполните

    GRANT EXECUTE TO db_executor
    
  • предоставить эту роль базы данных всем необходимым пользователям

Это создаст роль «перехватить все», которая имеет права на выполнение для всех существующих и будущих (!!) хранимых процедур в вашей базе данных. Да, это относится и к будущим сохраненным процессам! Очень удобно (по крайней мере, до тех пор, пока каждому пользователю разрешено выполнять все сохраненные процедуры)

Таким образом, вам не нужно создавать отдельные операторы GRANT EXECUTE для каждого хранимого процесса .......

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