我在 SQL 2008 R2 中有一个数据库,我通过导入现有数据库创建了一个 SSDT SQL 数据库项目。该数据库有一些使用 System.Drawing V2.0 的 CLR 例程。
在本地部署项目时,出现以下错误。
SQL72014:.Net SqlClient 数据提供程序:消息 6586,级别 16,状态 1,行 1 程序集“SystemDrawing”无法安装,因为现有策略将阻止使用它。
我不确定要寻找什么政策。
我在 SQL 2008 R2 中有一个数据库,我通过导入现有数据库创建了一个 SSDT SQL 数据库项目。该数据库有一些使用 System.Drawing V2.0 的 CLR 例程。
在本地部署项目时,出现以下错误。
SQL72014:.Net SqlClient 数据提供程序:消息 6586,级别 16,状态 1,行 1 程序集“SystemDrawing”无法安装,因为现有策略将阻止使用它。
我不确定要寻找什么政策。
您的 t-sql 脚本应如下所示
CREATE DATABASE [test]
GO
ALTER DATABASE [test] SET TRUSTWORTHY ON WITH ROLLBACK IMMEDIATE
GO
USE [test]
GO
ALTER DATABASE [test] SET TRUSTWORTHY ON
GO
exec sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
exec sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
CREATE ASSEMBLY [System.Drawing]
AUTHORIZATION [dbo]
FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Drawing.dll'
WITH PERMISSION_SET = UNSAFE
GO
但请注意,如果您安装了 .net 4,则必须使用该 .net 4,并且可能您为 sql server 使用了错误的 dll。