开启CLR集成功能
操作背景
公共语言运行库(CLR)是Microsoft .NET Framework 的核心,为所有.NET Framework代码提供执行环境。在CLR中运行的代码称为托管代码。CLR提供执行程序所需的各种函数和服务,包括实时(JIT)编译、分配和管理内存、强制类型安全性、异常处理、线程管理和安全性。
SQL CLR(SQL Common Language Runtime)是自SQL Server 2005才出现的新功能,它将.NET Framework中的CLR服务注入到SQL Server中,让SQL Server的部分数据库对象可以使用.NET Framework的编程语言开发(当前只支持VB.NET和C#),包括预存程序、用户自定义函数、触发程序、用户自定义类型以及用户自定义汇总函数等功能。但是要想执行CLR代码,首先要开启CLR特性。
更多介绍请参见Microsoft SQL Server官网公共语言运行时 (CLR) 集成编程概念。
CLR集成安全性相关内容请参见Microsoft SQL Server官网CLR 集成安全性。
前提条件
RDS for SQL Server仅支持创建安全模式的程序集。
启用CLR操作步骤
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域。
- 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
- 在“实例管理”页面,选择指定的实例,单击实例名称,进入实例的概览页面。
- 在左侧导航栏中选择“参数修改”,在“参数”页签搜索框中输入“clr enabled”和“clr strict security”进行搜索。
- “clr enabled”选项。可以使用“clr enabled”选项指定RDS for SQL Server是否可以运行用户程序集。
- “clr strict security”为RDS for SQL Server 2017特有参数。该选项控制 SQL Server中SAFE、EXTERNAL ACCESS、UNSAFE 权限的解释。当值为1时,导致数据库引擎忽略程序集上的 PERMISSION_SET 信息,并始终将其解释为 UNSAFE。有关详细信息,请参阅Microsoft SQL Server官网CLR严格安全性。
- 设置“clr enabled”参数值。
将参数值设置为“1”,单击“保存”,在弹出框中单击“是”保存本次修改,开启CLR功能。
- “clr enabled”参数值为“1”,表示开启CLR功能;参数值为“0”,表示关闭CLR功能。只需要设置“clr enabled”参数值,开启CLR功能。
- “clr strict security”参数值默认为“1”,无需设置。
- 修改完成后可以在“参数修改历史”页签下查看“clr enabled” 参数已经修改成功。
示例:RDS for SQL Server添加c#CLR程序集的使用方法
RDS for SQL Server提供程序集,可以更加便捷的操作数据库数据。
当您将数据库实例恢复到新实例或已有实例,“clr enabled”参数默认不开启,需要重新开启,才可以正常使用CLR集成功能。