Я только что перешел с SQL2000 на SQL2008, и я начал получать вопрос о разрешении на выполнение хранимого процесса, который использует sp_OACreate.Разрешение на выполнение Sql-сервера; отказ в применении разрешений
Остальная часть системы отлично работает с входом в db, который был настроен и добавлен в базу данных.
Я пробовал:
USE master
GO
GRANT EXEC ON sp_OACreate TO [dbuser]
GO
Но это не удается из-за ошибки:
Msg 15151, Level 16, State 1, Line 1 Cannot find the user 'dbuser', because it does not exist or you do not have permission.
Я вошел на сервер, как са с полными правами доступа. Я могу выполнить аналогичный оператор sql и применить разрешения к роли сервера, но не логин/пользователь.
Как я могу применить изменения к конкретному пользователю/логину?
Я могу применить разрешения к публичной роли и решить мою проблему; однако это кажется проблемой безопасности для меня, которую я действительно не хочу применять к серверу в реальном времени.
Как вы перенесли свои базы данных? Если вы не восстановили основную базу данных, тогда пользовательский «dbuser» не присутствовал бы и, следовательно, не отображался. –
@John - Вы правы. Восстановление базы данных Master не было выполнено из-за некоторых исторических плохих бит и бобов, от которых мы хотели уйти от миграции. К сожалению, мы также потеряли пользователей, которые теперь заново созданы и сопоставлены с входами :-) – WestDiscGolf