アセンブリを変更する
適用対象:SQL Server
SQL Server に登録されているアセンブリは、ALTER ASSEMBLY
ステートメントを使用して、より新しいバージョンから更新できます。 アセンブリを更新するには、次の構文で ALTER ASSEMBLY
ステートメントを使用します。
ALTER ASSEMBLY SQLCLRTest
FROM 'C:\MyDBApp\SQLCLRTest.dll';
ALTER ASSEMBLY
は、アセンブリを使用している現在実行中のプロセスを中断しません。プロセスは変更されていないアセンブリで実行を続けます。
ALTER ASSEMBLY
を使用して、共通言語ランタイム (CLR) 関数、集計関数、ストアド プロシージャ、トリガーのシグネチャを変更することはできません。 アセンブリに新しいパブリック メソッドを追加したり、プライベート メソッドを任意の方法で変更したり、シグネチャや属性が変更されない限りパブリック メソッドを変更したりできます。 ネイティブ シリアル化されたユーザー定義型 (データ メンバーや基底クラスを含む) に含まれるフィールドは、ALTER ASSEMBLY
を使用して変更することはできません。 その他の変更はいずれもサポートされていません。 詳細については、ALTER ASSEMBLYの
アセンブリのアクセス許可セットを変更する
アセンブリの権限セットは、ALTER ASSEMBLY
ステートメントを使用して変更することもできます。 次のステートメントは、SQLCLRTest
アセンブリのアクセス許可セットを EXTERNAL_ACCESS
に変更します。
ALTER ASSEMBLY SQLCLRTest
WITH PERMISSION_SET = EXTERNAL_ACCESS;
アセンブリの権限セットを SAFE
から EXTERNAL_ACCESS
または UNSAFE
に変更する場合は、非対称キーと、アセンブリに対する EXTERNAL ACCESS ASSEMBLY
権限または UNSAFE ASSEMBLY
権限を持つ対応するログインを最初に作成する必要があります。 詳細については、「アセンブリ
アセンブリのソース コードを追加する
ALTER ASSEMBLY
構文の ADD FILE
句は、CREATE ASSEMBLY
に存在しません。 ADD FILE 句を使用すると、アセンブリに関連付けられるソース コードやその他のファイルを追加できます。 ファイルは元の場所からコピーされ、データベース内のシステム テーブルに格納されます。 これにより、ユーザー定義型 (UDT) の現在のバージョンを再作成または文書化する必要がある場合は、常にソース コードまたはその他のファイルが手元にあります。
次のステートメントは、Point
UDT の Point.cs
クラスのソース コードを追加します。
Point.cs
ファイルに含まれるテキストをコピーし、PointSource
という名前でデータベースに格納します。
ALTER ASSEMBLY Point
ADD FILE FROM 'C:\Projects\Point\Point.cs' AS PointSource;
関連コンテンツ
- CLR 統合アセンブリの管理
- アセンブリ を作成する
- アセンブリ を削除する
- ALTER ASSEMBLY (Transact-SQL)