0

我在 SQL 2008 R2 中有一个数据库,我通过导入现有数据库创建了一个 SSDT SQL 数据库项目。该数据库有一些使用 System.Drawing V2.0 的 CLR 例程。

在本地部署项目时,出现以下错误。

SQL72014:.Net SqlClient 数据提供程序:消息 6586,级别 16,状态 1,行 1 程序集“SystemDrawing”无法安装,因为现有策略将阻止使用它。

我不确定要寻找什么政策。

4

1 回答 1

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,则必须使用该 .net 4,并且可能您为 sql server 使用了错误的 dll。

于 2013-01-24T16:20:58.717 回答