Sql server 在SQL Server中调用CLR命令时在中加载程序集时出错

Sql server 在SQL Server中调用CLR命令时在中加载程序集时出错,sql-server,clr,Sql Server,Clr,尝试从SQL Server运行CLR对象时收到错误: Microsoft.NET Framework在尝试加载程序集id 65538时出错 我是否需要启用某些SQL Server设置,或者这是一个bug?首先,您需要通过运行以下命令来启用CLR执行: EXEC sp_configure 'clr enabled'; EXEC sp_configure 'clr enabled' , '1'; RECONFIGURE; USE master GO ALTER DATABASE [database

尝试从SQL Server运行CLR对象时收到错误:

Microsoft.NET Framework在尝试加载程序集id 65538时出错


我是否需要启用某些SQL Server设置,或者这是一个bug?

首先,您需要通过运行以下命令来启用CLR执行:

EXEC sp_configure 'clr enabled';
EXEC sp_configure 'clr enabled' , '1';
RECONFIGURE;
USE master
GO
ALTER DATABASE [database_name] SET TRUSTWORTHY ON

USE [database_name]
GO
EXEC sp_changedbowner 'sa'
然后通过运行以下命令更改所有者:

EXEC sp_configure 'clr enabled';
EXEC sp_configure 'clr enabled' , '1';
RECONFIGURE;
USE master
GO
ALTER DATABASE [database_name] SET TRUSTWORTHY ON

USE [database_name]
GO
EXEC sp_changedbowner 'sa'

为什么您的案例中需要可信的sa数据库所有权?即使使用不安全的程序集,通常也不需要这样做。模块签名是一种更好的做法。