sp_addextendedproc (Transact-SQL)
適用対象: SQL Server
新しい拡張ストアド プロシージャの名前を SQL Server に登録します。
Note
この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに、 Common 言語ランタイム (CLR) 統合 を使用してください。
構文
sp_addextendedproc
[ @functname = ] N'functname'
, [ @dllname = ] 'dllname'
[ ; ]
引数
[ @functname = ] N'functname'
ダイナミック リンク ライブラリ (DLL) 内で呼び出す関数の名前。 @functname は nvarchar(517)で、既定値はありません。 @functname 必要に応じて、フォーム <owner.function>
に所有者名を含めることができます。
[ @dllname = ] 'dllname'
関数を含む DLL の名前。 @dllname は varchar(255) で、既定値はありません。 DLL の完全なパスを指定する必要があります。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
ありません。
解説
拡張ストアド プロシージャを作成した後、 sp_addextendedproc
を使用して SQL Server に追加する必要があります。 詳細については、「 拡張ストアド プロシージャを SQL Server に追加するを参照してください。
このプロシージャは、 master
データベースでのみ実行できます。 master
以外のデータベースから拡張ストアド プロシージャを実行するには、拡張ストアド プロシージャの名前をmaster
で修飾します。
sp_addextendedproc
は、 sys.objects カタログ ビューにエントリを追加し、新しい拡張ストアド プロシージャの名前を SQL Server に登録します。 また、 sys.extended_procedures カタログ ビューにエントリが追加されます。
重要
完全なパスに登録されていない既存の DLL は、SQL Server にアップグレードした後は機能しません。 問題を修正するには、 sp_dropextendedproc
を使用して DLL の登録を解除し、完全なパスを指定して sp_addextendedproc
で再登録します。
アクセス許可
sysadmin固定サーバー ロールのメンバーのみがsp_addextendedproc
を実行できます。
例
次の例では、拡張ストアド プロシージャ xp_hello
追加します。
USE master;
GO
EXEC sp_addextendedproc xp_hello, 'c:\xp_hello.dll';