0

SQL Server 2005 で .NET アセンブリを作成した後、.NET サービス パック/バグ修正が MS によってリリースされ、通常の Microsoft Update を介してインストールされた場合、何かする必要がありますか? SQL アセンブリは元の .NET .dll へのリンクですか、それとも SQL Server は独自のプライベート コピーを取りますか?

4

2 に答える 2

2

SQL Server 2005 で .NET アセンブリを作成した後、MS によって .NET サービス パック/バグ修正がリリースされ、通常の Microsoft Update を介してインストールされる場合、何かする必要がありますか?

場合によります。SQL Server CLR 統合は、すべての .NET アセンブリをサポートしているわけではありません。 「SQL Server CLR ホスト環境でのテストされていない .NET Framework アセンブリのサポート ポリシー」を参照してください。サポートされているアセンブリ (以下) に限定する場合は、何もする必要はありません。

  • Microsoft.VisualBasic.dll
  • Mscorlib.dll
  • System.Data.dll
  • System.dll
  • System.Xml.dll
  • Microsoft.VisualC.dll
  • CustomMarshallers.dll
  • System.Security.dll
  • System.Web.Services.dll
  • System.Data.SqlXml.dll
  • System.Transactions.dll
  • System.Data.OracleClient.dll
  • System.Configuration.dll

ただし、テストされていないアセンブリを参照すると、エラーが発生する可能性があります。

CLR がアセンブリを読み込むと、CLR は同じアセンブリが GAC にあることを確認します。同じアセンブリが GAC にある場合、CLR はこれらのアセンブリのモジュール バージョン ID (MVID) が一致することを確認します。これらのアセンブリの MVID が一致しない場合、「現象」に記載されているエラー メッセージが表示されます。

アセンブリが再コンパイルされると、アセンブリの MVID が変更されます。したがって、.NET Framework を更新すると、それらのアセンブリが再コンパイルされるため、.NET Framework アセンブリの MVID が異なります。さらに、独自のアセンブリを更新すると、アセンブリが再コンパイルされます。したがって、アセンブリにも異なる MVID があります。

CLR ルーチンを実行するとき、または SQL Server 2005 でアセンブリを使用するときのエラー メッセージから:「ホスト ストアのアセンブリには、GAC のアセンブリとは異なる署名があります。(HRESULT からの例外: 0x80131050)」 http://support.microsoft.com/ kb/949080

これが発生した場合は、ALTER ASSEMBLY ステートメントを使用して新しいアセンブリを再指定するだけです。

于 2012-04-13T16:18:40.460 に答える
0

.NET サービス パック/バグ修正が MS によってリリースされ、通常の Microsoft Update を介してインストールされる場合、何かする必要がありますか?

いいえ。通常、修正はランタイム自体に適用されるため、アセンブリなどを再構築する必要はありません。

SQL アセンブリは元の .NET .dll へのリンクですか、それとも SQL Server は独自のプライベート コピーを取りますか?

SQL Server は、ビューで確認できる自身のコピーを保持しsys.assembly_filesます。

于 2012-04-13T15:49:33.707 に答える