Kei*_*era 10 sql-server activity-monitor sql-server-2012 sql-clr
当我检查我们的 SQL Prod 服务器时,每次打开活动监视器时,我总是SQLCLR在活动监视器的资源等待部分的第一个列表中看到。它总是有一个很高的数字。是SQLCLR为了什么?SQLCLR在活动监视器中具有高资源等待数的服务器是否有害?
Sol*_*zky 11
SQLCLR 是在 SQL Server 中运行 .NET 代码的能力。
当人们谈到 SQLCLR 时,他们通常指的是编写自定义 .NET 代码(存储过程、函数、触发器、用户定义类型和用户定义聚合)的能力。在这种情况下,可以通过 中的“clr enabled”服务器选项打开和关闭此功能sp_configure,我相信它在 Surface Area Configuration GUI 中称为“CLR Integration”。添加 .NET 功能需要使用CREATE ASSEMBLY将已编译的 .NET 代码加载到 SQL Server 中。
但是,即使将“clr enabled”选项设置为0/“off”/“disabled”,CLR 功能仍然用于内部功能和一些内置功能,并且将始终存在,除非“使用 Windows 光纤”/“轻量级池”选项已启用。
有关 SQLCLR 是什么、不是什么以及它能做什么的非常详细的描述,请参阅我在 SQL Server Central 上写的关于此主题的文章:通往 SQLCLR 级别 1 的阶梯:什么是 SQLCLR?(需要免费注册才能查看该站点上的内容)。以下 StackOverflow 回答中提供了该文章的精简版本:我们何时需要 SQL Server 中的 CLR 函数?.
如果您想知道实例是否允许将自定义.NET 代码添加到数据库,请运行以下命令并检查“run_value”字段:
EXEC sp_configure 'clr enabled';
Run Code Online (Sandbox Code Playgroud)
关于资源监视器中SQLCLR等待类型的含义,请参见以下博文:
工作原理:SQL Server 2008 活动监视器中 SQLCLR 等待类别的背后是什么
我相信该帖子中的相关行(因为它与您正在查看的 SQLCLR 类别有关)是:
我发现一些 wait_types 应该被忽略,因为它们是预期的等待。
| 归档时间: |
|
| 查看次数: |
27997 次 |
| 最近记录: |