Проблема разрешений между базами данных - PullRequest
1 голос
/ 17 февраля 2009

Может кто-нибудь помочь мне с этой проблемой, пожалуйста?

У меня 2 базы данных на одном сервере, обе принадлежат sa. У входа в Windows есть разрешение на выполнение хранимого процесса в базе данных A, которая выбирает данные из базы данных таблицы B. Сохраненный процесс и таблица также принадлежат dbo. Имя входа Windows является членом группы доменов Windows, которая является членом роли базы данных в базе данных A, у которой есть разрешение на выполнение хранимого процесса, но ему не были предоставлены или запрещены какие-либо разрешения для базы данных B напрямую. Учетная запись может выполнять хранимые процедуры в базе данных А, которые используют базу данных А и другие процедуры, которые обращаются к другим базам данных, к которым у входа уже есть разрешения, но когда он пытается выполнить эту хранимую процедуру, он генерирует ошибку «Принципал сервера» возможность доступа к базе данных "B" в текущем контексте безопасности. " Кросс-цепочка владения базами данных включена на уровне сервера, но две базы данных имеют is_db_chaining_on = 0 в sys.databases.

Это так же просто, как включить цепочку владения несколькими базами данных на уровне сервера и базы данных?

1 Ответ

1 голос
/ 17 февраля 2009

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

Как вы установили цепочку? Для некоторых системных настроек требуется перезагрузка, или вы можете запустить команду RECONFIGURE в окне запроса.

http://msdn.microsoft.com/en-us/library/ms176069(SQL.90).aspx

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