什么是 SQL Server 安全对象?

Jac*_*all 5 security sql-server terminology ssms sql-server-2008-r2

我将两个应用程序迁移到新服务器。其中一个工作没有任何问题,但另一个遇到了后端 sql 权限问题,例如

对象“aspnet_CheckSchemaVersion”的 EXECUTE 权限被拒绝

我可以找到为什么一个应用程序可以工作而另一个不工作的原因。它们都在同一个应用程序池下运行,但使用不同的数据库。我不必为一个工作做任何事情,对于另一个我必须为每个表授予[网络服务]用户的权限,应用程序访问的存储过程。

好吧,我现在通过为网络服务设置两个数据库安全来解决这个问题。我不知道为什么我必须为一个应用程序执行此操作,而另一个应用程序不需要它。我的问题是

SQL Server Management Studio 中的 SQL Server 安全性是什么?当您单击用户 -> 属性然后转到左侧的第二页时,您基本上可以访问它们。

它是干什么用的? 它的正确用途是什么?

来自微软

证券

Lists the securables on which specific permissions have been granted or denied to  this principal.
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Tho*_*ger 11

安全对象是可以在 SQL Server 中授予、拒绝或撤销权限的任何内容。它基本上是“你可以确保的东西”

可以这样想:您的汽车是安全的。您必须获得钥匙(权限)才能访问您的汽车(安全)。

安全是任何可以访问或无法访问的东西。

看看这个关于 Securables 的 BOL 参考。在安全对象的三个范围(服务器、数据库、模式)下,您可以看到包含的列表。以下是安全对象列表(直接取自 BOL,但仅供参考):

服务器范围安全对象

  • 端点
  • 登录
  • 数据库

数据库范围安全对象

  • 用户
  • 角色
  • 应用角色
  • 集会
  • 消息类型
  • 路线
  • 服务
  • 远程服务绑定
  • 全文目录
  • 证书
  • 非对称密钥
  • 对称密钥
  • 合同
  • 架构

架构范围安全对象

  • 类型
  • XML 架构集合
  • 目的
    • 总计的
    • 功能
    • 程序
    • 队列
    • 代名词
    • 桌子
    • 看法