SQL Server 2008 - Какой простой способ проверить, включен ли clr?
SQL Server 2008 - Какой простой способ проверить, включен ли clr?
Ответы:
Проверьте config_value
результатыsp_configure
Вы можете включить CLR, выполнив следующее:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
was 0 now 1
или что-то подобное, но ...
Принятый ответ требует небольшого пояснения. Строка будет там, если среда CLR включена или отключена. Значение будет 1, если включено, или 0, если отключено.
Я использую этот скрипт для включения на сервере, если опция отключена:
if not exists(
SELECT value
FROM sys.configurations
WHERE name = 'clr enabled'
and value = 1
)
begin
exec sp_configure @configname=clr_enabled, @configvalue=1
reconfigure
end
Правильный результат для меня с SQL Server 2017:
USE <DATABASE>;
EXEC sp_configure 'clr enabled' ,1
GO
RECONFIGURE
GO
EXEC sp_configure 'clr enabled' -- make sure it took
GO
USE <DATABASE>
GO
EXEC sp_changedbowner 'sa'
USE <DATABASE>
GO
ALTER DATABASE <DATABASE> SET TRUSTWORTHY ON;
От Ошибка произошла в Microsoft .NET Framework при попытке загрузить идентификатор сборки 65675
Это ответ @Jason, но с упрощенным выводом
SELECT name, CASE WHEN value = 1 THEN 'YES' ELSE 'NO' END AS 'Enabled'
FROM sys.configurations WHERE name = 'clr enabled'
Приведенное выше возвращает следующее:
| name | Enabled |
-------------------------
| clr enabled | YES |
Протестировано на SQL Server 2017