【问题标题】:Sql Server grant permission for sp_grantdbaccess on a newly restored DBSql Server 在新恢复的数据库上授予 sp_grantdbaccess 权限
【发布时间】:2014-08-27 00:46:36
【问题描述】:

我无法使用 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

我在尝试从存储过程中运行它时收到以下错误。关于如何授予应用程序调用 sp_grantdbaccess 等权限的任何想法?我想我需要获得许可才能给予许可……

错误 restore_backup restore_new_configDB服务器主体“IIS APPPOOL\myApp" 无法访问数据库 "new_db_name" 下 当前的安全上下文

【问题讨论】:

    标签: sql sql-server-2008-r2 database-restore database-permissions


    【解决方案1】:

    根据错误消息,您似乎正在尝试使用安全上下文 IIS APPPOOL\myApp 授予对 IIS APPPOOL\myApp 的访问权限,但 IIS APPPOOL\myApp 没有对 db 授予访问权限的访问权限对自己。我认为这类似于我试图允许自己进入邻居家,但我没有任何权限这样做。

    根据您使用的安全策略类型,我会在通过集成身份验证具有更高权限的帐户下运行应用程序池(但这可能会否定您授予权限的需要),或者执行这些 SQL 语句使用对数据库具有必要权限的本地 SQL 帐户。在这些情况下,这就像要求我的邻居(提升访问权限)让我(IIS APPPOOL\myApp)进入。

    如果您认为它应该可以工作,因为 IIS APPPOOL\myApp 在备份之前可以访问数据库,那么这可能是 IIS APPPOOL\myApp 是孤立用户的问题吗?请参阅http://msdn.microsoft.com/en-us/library/ms175475.aspx 但是在这种情况下,您仍然可能会遇到上述情况来尝试修复孤立用户。

    【讨论】:

      猜你喜欢
      • 2019-04-30
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      • 2015-04-24
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      相关资源
      最近更新 更多