sp_addextendedproc (Transact-SQL)
新しい拡張ストアド プロシージャの名前を Microsoft SQL Server に登録します。
注 |
---|
この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。代わりに、CLR 統合を使用してください。 |
構文
sp_addextendedproc [ @functname = ] 'procedure' ,
[ @dllname = ] 'dll'
引数
[ @functname = ] 'procedure'
ダイナミックリンク ライブラリ (DLL) の内部で呼び出す関数の名前を指定します。 procedure のデータ型は nvarchar(517) で、既定値はありません。 procedure には、owner.function の形式で所有者名を含めることもできます。[ @dllname = ] 'dll'
関数が含まれている DLL の名前を指定します。 dll のデータ型は 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 2012 へのアップグレード後、機能しなくなります。 この問題を修正するには、sp_dropextendedproc を使用して DLL の登録を解除し、sp_addextendedproc を使用して完全パスと共に登録し直します。 |
権限
sp_addextendedproc を実行できるのは、sysadmin 固定サーバー ロールのメンバーだけです。
使用例
次の例では、xp_hello 拡張ストアド プロシージャを登録します。
USE master
GO
EXEC sp_addextendedproc xp_hello, 'c:\xp_hello.dll'
関連項目
参照
sp_dropextendedproc (Transact-SQL)