CLR 集成安全性

与 .NET Framework 公共语言运行时 (CLR) 集成的 SQL Server 的安全模式用于管理和保护 SQL Server 内运行的不同类型 CLR 对象和非 CLR 对象之间的访问。这些对象可能由 Transact-SQL 语句或服务器上运行的其他 CLR 对象调用。对象之间的调用称为链接。对这些对象执行的安全检查类型取决于相关的链接类型。

CLR 集成安全模式可实现以下目的:

  • 默认情况下,在 SQL Server 中运行托管用户代码不应当损害 SQL Server 的完整性和稳定性。如果执行有可能损害 SQL Server 可靠性的操作,则应当受到适当的高级权限的保护。

  • 托管用户代码不应当获得对数据库中用户数据或其他用户代码的未经授权访问。用户定义代码应当在调用该代码的用户会话的安全上下文中运行,且拥有该安全上下文的正确特权。

  • 应当有控制来限制用户代码不得访问服务器以外的任何资源,而只能用于本地数据访问和计算。

  • 用户定义代码不应能通过在 SQL Server 进程中运行而获得对系统资源的未经授权访问。

SQL Server 现在集成了 SQL Server 基于用户的安全模式和 CLR 基于代码访问的安全模式。本节将讨论此组合安全方法的某些优势。

下表列出了本节的主题。

请参阅

概念