当我检查我们的 SQL Prod 服务器时,每次打开活动监视器时,我总是会SQLCLR
在活动监视器的资源等待部分的第一个列表中看到。它总是有一个很高的数字。是SQLCLR
为了什么?SQLCLR
在活动监视器中具有高资源等待数的服务器是否不好?
当我检查我们的 SQL Prod 服务器时,每次打开活动监视器时,我总是会SQLCLR
在活动监视器的资源等待部分的第一个列表中看到。它总是有一个很高的数字。是SQLCLR
为了什么?SQLCLR
在活动监视器中具有高资源等待数的服务器是否不好?
SQLCLR 是在 SQL Server 中运行 .NET 代码的能力。
当人们谈到 SQLCLR 时,他们通常指的是编写自定义 .NET 代码(存储过程、函数、触发器、用户定义类型和用户定义聚合)的能力。在这种情况下,可以通过 中的“启用 clr”的服务器选项打开和关闭此功能
sp_configure
,我相信它在 Surface Area Configuration GUI 中称为“CLR 集成”。添加 .NET 功能需要使用CREATE ASSEMBLY将已编译的 .NET 代码加载到 SQL Server 中。但是,即使将“启用 clr”选项设置为
0
/“关闭”/“禁用”,CLR 功能仍用于内部功能和一些内置功能,并且将始终存在,除非“使用 Windows 光纤”/“轻量级池”选项已启用。有关 SQLCLR 是什么、不是什么以及它能做什么的非常详细的描述,请参阅我在 SQL Server Central 上写的关于此主题的文章:通往 SQLCLR 级别 1:什么是 SQLCLR?(需要免费注册才能查看该网站上的内容)。该文章的精简版本可在以下 StackOverflow 答案中找到:我们何时需要 SQL Server 中的 CLR 函数?.
如果您想知道实例是否允许将自定义.NET 代码添加到数据库,请运行以下命令并检查“run_value”字段:
关于 Resource Monitor 中SQLCLR等待类型的含义,请看以下博文:
工作原理:SQL Server 2008 活动监视器中的 SQLCLR 等待类别背后的原因
我相信该帖子的相关行(因为它与您正在查看的 SQLCLR 类别有关)是: