SSDT Deploy CLRの問題:.NET SQLClient:既存のポリシーが使用されることを保つため、アセンブリをインストールできませんでした

StackOverflow https://stackoverflow.com//questions/12699606

質問

私はSQL 2008 R2でDBを持っています。既存のDBをインポートしてSSDT SQLデータベースプロジェクトを作成しました。このDBにはSystem.Drawing V2.0を使用しているいくつかのCLRルーチンがあります。

ローカルにプロジェクトを展開するときは、次のエラーが発生します。

SQL72014:.NET SQLCLIENTデータプロバイダ:MSG 6586、Level 16、State 1、Line 1 Assembly '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をインストールした場合は、その1つを使用しており、おそらくSQL Serverの間違ったDLLを使用していることがあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top