公共语言运行时 (CLR) 集成编程概念

适用于:yesSQL Server(所有支持的版本)YesAzure SQL 托管实例

从 SQL Server 2005 (9.x) 开始,SQL Server功能集成 microsoft Windows .NET Framework .NET Framework的公共语言运行时 (CLR) 组件。 这意味着您现在可以使用任意 .NET Framework 语言(包括 Microsoft Visual Basic .NET 和 Microsoft Visual C#)编写存储过程、触发器、用户定义类型、用户定义函数、用户定义聚合函数以及流处理表值函数。

Microsoft.SqlServer.Server 命名空间包括SQL Server中 CLR 编程的核心功能。 但是,有关 Microsoft.SqlServer.Server 命名空间的文档位于 .NET Framework SDK。 本文档不包含在 SQL Server 联机丛书中。

重要

默认情况下,.NET Framework 与 SQL Server 一起安装,但不安装 .NET Framework SDK。 如果未在计算机上安装 SDK,并且未将其包括在联机丛书集中,则本节中指向 SDK 内容的链接无效。 请安装 .NET Framework SDK。 安装后,按照安装 .NET Framework SDK 中的说明,将 SDK 添加到联机丛书集合和目录。

备注

Azure SQL 数据库不支持 CLR 功能(如 CLR 用户函数)。

下表列出了本节的主题。

公共语言运行时 (CLR) 集成概述
简要概述了 CLR,并介绍了此技术在SQL Server的使用方式和原因。 描述使用 CLR 创建数据库对象的好处。

程序集(数据库引擎)
介绍如何在SQL Server中使用程序集来部署函数、存储过程、触发器、用户定义的聚合和用户定义类型,这些类型是用 Microsoft .NET Framework 公共语言运行时托管语言之一编写的, (CLR) ,而不是用 Transact-SQL 编写的。

使用公共语言运行时 (CLR) 集成生成数据库对象
描述可以使用 CLR 生成的对象种类,并说明生成 CLR 数据库对象时所要满足的要求。

从 CLR 数据库对象进行数据访问
描述 CLR 例程如何访问存储在SQL Server实例中的数据。

CLR 集成安全性
描述 CLR 集成安全模型。

调试 CLR 数据库对象
描述调试 CLR 数据库对象的限制和要求。

部署 CLR 数据库对象
描述如何将程序集部署到生产服务器。

管理 CLR 集成程序集
描述如何创建和删除 CLR 集成程序集。

托管数据库对象监视和故障排除
提供有关可用于监视和排查SQL Server中运行的托管数据库对象和程序集的工具的信息。

公共语言运行时 (CLR) 集成的使用方案和示例
描述使用 CLR 对象的应用场景和代码示例。

另请参阅

程序集(数据库引擎)
安装 .NET Framework SDK