我在SQL 2008 R2中有一个数据库,我通过导入现有数据库创建了一个SSDT SQL数据库项目。此DB具有一些使用System.Drawing V2.0的CLR例程。
在本地部署项目时,我收到以下错误。
SQL72014:.Net SqlClient数据提供程序:消息6586,级别16,状态1,行1程序集“SystemDrawing”无法安装,因为现有策略将阻止其使用。
我不确定要查找的政策。
答案 0 :(得分:3)
您的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,那么您必须使用那个,并且可能是您使用了错误的dll用于sql server。