【问题标题】:Cross-database permissions problem跨数据库权限问题
【发布时间】:2009-02-17 17:45:03
【问题描述】:

谁能帮我解决这个问题?

我在同一台服务器上有 2 个数据库,都归 sa 所有。 Windows 登录有权执行数据库 A 中的存储过程,该过程从表数据库 B 中选择数据。存储过程和表也都归 dbo 所有。 Windows 登录是 Windows 域组的成员,该域组是数据库 A 中具有执行存储过程的权限的数据库角色的成员,但没有直接授予或拒绝对数据库 B 的任何权限。登录能够在使用数据库 A 的数据库 A 中执行存储过程,以及访问登录已经有权访问的其他数据库的其他过程,但是当它尝试执行此存储过程时,它会生成错误“服务器主体”不是能够在当前安全上下文下访问数据库“B”。”在服务器级别启用了跨数据库所有权链接,但两个数据库在 sys.databases 中的 is_db_chaining_on = 0。

在服务器和数据库级别启用跨数据库所有权链接是否就这么简单?

【问题讨论】:

    标签: sql-server-2005


    【解决方案1】:

    如果您在服务器级别启用跨数据库链接,则它可用于所有数据库,从内存中,您不必在数据库级别专门设置它。

    你是如何设置链接的?对于某些系统设置,需要重新启动,或者您可以在查询窗口中运行 RECONFIGURE 命令。

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

    【讨论】:

      猜你喜欢
      • 2010-12-10
      • 2016-01-29
      • 2023-04-01
      • 2017-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多