Sql Server предоставляет разрешение для sp_grantdbaccess на недавно восстановленной БД

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

DECLARE @grant_access nvarchar(500)
SET @grant_access = 'EXEC ' + @new_db_name + '.dbo.sp_grantdbaccess ''IIS APPPOOL\myApp'''
EXEC sp_executesql @grant_access

Я получаю ошибку ниже, пытаясь запустить это из sproc. Любые идеи о том, как я могу дать разрешение на приложение для вызова sp_grantdbaccess и т. Д.? Я думаю, мне нужно разрешение, чтобы дать разрешение...

Ошибка restore_backup restore_new_configDB Участник сервера "IIS APPPOOL\myApp" не может получить доступ к базе данных "new_db_name" в текущем контексте безопасности

1 ответ

Решение

Исходя из сообщения об ошибке, похоже, что вы пытаетесь предоставить доступ к IIS APPPOOL\myApp с помощью контекста безопасности IIS APPPOOL\myApp, но IIS APPPOOL\myApp не имеет прав доступа к базе данных для предоставления прав доступа к себе. Я думаю, что это похоже на то, что я пытаюсь предоставить себе доступ к дому моих соседей, но у меня нет никаких полномочий делать это.

В зависимости от того, с какими типами политик безопасности вы работаете, я бы запустил пул приложений под учетной записью, обладающей большими привилегиями через встроенную аутентификацию (но это может свести на нет необходимость предоставления привилегий), или выполнил бы эти операторы SQL, используя локальные Учетная запись SQL с необходимыми правами доступа к базе данных. В этих случаях это все равно, что попросить моего соседа (с повышенными правами доступа) впустить меня (IIS APPPOOL\myApp).

Если вы думаете, что это должно работать, потому что IIS APPPOOL\myApp имел доступ к БД до создания резервной копии, может ли это быть проблемой, если IIS APPPOOL\myApp является осиротевшим пользователем? См. http://msdn.microsoft.com/en-us/library/ms175475.aspx Но в этом случае вы все равно можете столкнуться с приведенным выше сценарием, пытаясь исправить потерянного пользователя.

Другие вопросы по тегам