SQLCLR - це можливість запускати .NET-код у SQL Server.
Коли люди говорять про SQLCLR, вони зазвичай посилаються на можливість запису користувальницького коду .NET (Збережені процедури, функції, тригери, типи, визначені користувачем, та агрегати, визначені користувачем). У цьому випадку цю здатність можна вмикати та вимикати через серверну опцію "включеної clr" всередині sp_configure
, і я вважаю, що вона називається "інтеграція CLR" в GUI з конфігурацією поверхні. Для додавання .NET функціональності потрібно використовувати CREATE ASSEMBLY для завантаження зібраного коду .NET у SQL Server.
Однак, навіть якщо параметр "увімкнено clr" встановлений на 0
"вимкнено" / "відключено", функція CLR все ще використовується для внутрішньої функціональності та деяких вбудованих функцій і завжди буде там, якщо тільки "використовувати волокна Windows" / " полегшений пул "включено.
Щоб отримати дуже детальний опис того, що таке SQLCLR, ні, і що це може зробити, перегляньте статтю, яку я написав на цю тему на SQL Server Central: Сходи до SQLCLR Рівень 1: Що таке SQLCLR? (для перегляду вмісту на цьому веб-сайті потрібна безкоштовна реєстрація). Скинута версія цієї статті доступна у наступній відповіді StackOverflow: Коли нам потрібна функція CLR на SQL сервері? .
Якщо ви хочете дізнатися, чи дозволяє екземпляр додати користувальницький .NET-код до баз даних, виконайте наступне та перевірте поле "run_value":
EXEC sp_configure 'clr enabled';
Що стосується значення типу очікування SQLCLR в Моніторі ресурсів, будь ласка, дивіться наступне повідомлення в блозі:
Як це працює: Що стоїть за категорією очікування SQLCLR в Моніторі діяльності SQL Server 2008
і я вважаю, що відповідний рядок (оскільки він відноситься до категорії SQLCLR, яку ви дивитесь) з цієї посади:
Що я виявив, що кілька типів wait_ слід ігнорувати, оскільки від них очікують очікування.