CLR オブジェクト開発時の注意点

佐藤美菜 (さとうみな)

SQL Server Support Engineer

 

皆さん、こんにちは。今回は、CLR オブジェクトを開発するときに、.NET Framework のバージョンと SQL Server のバージョンの組み合わせに注意が必要であることをご紹介します。

 

現象

Visual Studio 2010 等で .NET Framework 4.0 を使用してビルドした DLL を SQL Server 2008 R2 へ CLR アセンブリとして登録すると、エラー 6257 が発生します。

 

image

 

SQL Server 2008 R2 は、 .NET Framework 4.0 / 4.5 でビルドした CLR アセンブリをサポートしていません。

 

[補足]

SQL Server 2008 R2 がリリースされた時点では、 .NET Framework 3.5 SP1 が最新であり、.NET Framework 4.0 / 4.5 でビルドした CLR アセンブリは SQL Server 2008 R2 ではサポートされていません。また、 .NET Framework 3.5 SP1 以降にリリースされた .NET Framework については、現時点では追加でサポートされる予定はありません。

 

回避策

以下、2 つの方法が考えられますので、ご検討ください。

 

a. SQL Server 2008 R2 でサポートされる .NET Framework 3.5 SP1 でビルドした DLL を CLR アセンブリとして登録する

b. .NET Framework 4.0 / 4.5 をサポートする SQL Server 2012 を使用し、.NET Framework 4.0 / 4.5 でビルドされた DLL を CLR アセンブリとして登録する

 

以上です。

 

CLR オブジェクトを開発する際には、ご注意いただければと思います。

 

※ 本 Blog の内容は 2013 年 2 月現在の内容となっております。