web-dev-qa-db-ja.com

SQL Server:CLRが有効になっているかどうかを確認する方法

SQL Server 2008-clrが有効になっているかどうかを確認する簡単な方法は何ですか?

82
magnattic
SELECT * FROM sys.configurations
WHERE name = 'clr enabled'
127
Jason

config_valueの結果sp_configure

以下を実行してCLRを有効にできます。

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO

CLRの有効化に関するMSDN記事

sp_configureのMSDN記事

33
codingbadger

受け入れられた答えには少し説明が必要です。 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
26
Larry Smith
select *
from sys.configurations
where name = 'clr enabled'
3
grapefruitmoon

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でテスト済み

0