【问题标题】:Application Roles in SQL Server and guest account for cross database query?SQL Server 中的应用程序角色和用于跨数据库查询的来宾帐户?
【发布时间】:2013-05-06 09:50:17
【问题描述】:

来自 MSDN:Application Roles on MSDN

应用程序角色是一种数据库主体,它使应用程序能够以自己的类似用户的权限运行。您可以使用应用程序角色仅允许通过特定应用程序连接的用户访问特定数据。与数据库角色不同,应用程序角色不包含任何成员,并且默认情况下处于非活动状态。应用程序角色适用于两种身份验证模式。应用程序角色通过使用 sp_setapprole 启用,这需要密码。因为应用程序角色是数据库级别的主体,所以它们只能通过在这些数据库中授予来宾的权限来访问其他数据库。因此,任何已禁用来宾的数据库都将无法访问其他数据库中的应用程序角色。

谁能给我解释一下?

这是否意味着如果为该实例禁用来宾帐户,我无法编写跨数据库查询来引用同一 SQL Server 实例上另一个数据库中的表?

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    首先,在实例上禁用访客帐户恕我直言是个坏主意。来宾帐户旨在允许用户“查看”数据库(仅此而已)。禁用实例的来宾帐户(以及随后的主帐户)将停止对数据库的枚举,这很可能会停止其他经过身份验证的角色连接,具体取决于使用的连接字符串。您可以将应用程序角色授予一个或多个数据库和实例,并且在此帐户下运行的应用程序将具有访问权限(除非以其他方式拒绝)因此任何可以运行该应用程序的用户都将通过该应用程序获得该访问权限)它是允许应用程序在不授予用户这些权限的情况下做某事的方式。 http://msdn.microsoft.com/en-us/library/aa905195%28v=sql.80%29.aspx 通过实例我想你的意思是 SQL 安装实例......?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      • 2010-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      相关资源
      最近更新 更多