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
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;
FromアセンブリID65675を読み込もうとしたときにMicrosoft.NETFrameworkでエラーが発生しました
これは@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 Server2017でテスト済み