SSDT Deploy CLRの問題:.NET SQLClient:既存のポリシーが使用されることを保つため、アセンブリをインストールできませんでした
-
12-12-2019 - |
質問
私は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を使用していることがあります。
所属していません StackOverflow