SQL Server 2008-clrが有効になっているかどうかを確認する簡単な方法は何ですか?
SELECT * FROM sys.configurations
WHERE name = 'clr enabled'
config_value
の結果sp_configure
以下を実行してCLRを有効にできます。
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
受け入れられた答えには少し説明が必要です。 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
select *
from sys.configurations
where name = 'clr enabled'
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;
から アセンブリID 65675を読み込もうとしているときにMicrosoft .NET Frameworkでエラーが発生しました
これは@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でテスト済み