Принципал сервера можение получить доступ к базе данных 'B' под текущим контекстом защиты

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

"Принципал сервера можение получить доступ к базе данных 'B' под текущим контекстом защиты"

То, где A, является Пользовательским входом в систему. Я затем установил его для выполнения как пользователь, который с тем же входом в систему в обеих базах данных (на базу данных, от которой называют триггер и база данных ссылаются в триггере). Однако эта ошибка сохраняется. Я установил referened базу данных на thrustworthy, но это не работало.

Кроме того, sa не пользователь, а вход в систему, но когда я работаю, триггер выпущен от входа в систему sa без любого олицетворения, всех работ хорошо; но все повреждения, когда я пытаюсь исполнить роль любого пользователя.

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

1
задан 26 September 2014 в 18:53
1 ответ

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

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

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

1
ответ дан 4 December 2019 в 00:18

Теги

Похожие вопросы