sp_addextendedproc (Transact-SQL)
新しい拡張ストアド プロシージャの名前を Microsoft SQL Server に登録します。
メモ : |
---|
この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに CLR Integration を使用してください。 |
構文
sp_addextendedproc [ @functname = ] 'procedure' ,
[ @dllname = ] 'dll'
引数
[ @functname = ] 'procedure'
ダイナミックリンク ライブラリ (DLL) の内部で呼び出す関数の名前を指定します。procedure のデータ型は nvarchar(517) で、既定値はありません。procedure には、owner.function の形式で所有者名を含めることもできます。
[ @dllname = ] 'dll'
関数が含まれている DLL の名前を指定します。dll のデータ型は varchar(255) で、既定値はありません。DLL の完全パスを指定することをお勧めします。
結果セット
なし
解説
作成した拡張ストアド プロシージャは、sp_addextendedproc を使用して SQL Server に登録する必要があります。詳細については、「SQL Server への拡張ストアド プロシージャの追加」を参照してください。
このプロシージャは、master データベースでのみ実行できます。master データベース以外のデータベースから拡張ストアド プロシージャを実行するには、拡張ストアド プロシージャ名に master の修飾名を追加する必要があります。
sp_addextendedproc では、sys.objects カタログ ビューにエントリが追加され、新しい拡張ストアド プロシージャの名前が SQL Server に登録されます。また、sys.extended_procedures カタログ ビューにもエントリが追加されます。
重要 : |
---|
完全パスで登録されなかった既存の DLL は、SQL Server 2005 へのアップグレード後、機能しなくなります。この問題を修正するには、sp_dropextendedproc を使用して DLL の登録を解除し、sp_addextendedproc を使用して完全パスと共に登録し直します。 |
権限
sp_addextendedproc を実行できるのは、sysadmin 固定サーバー ロールのメンバだけです。
戻り値
0 (成功) または 1 (失敗)
例
次の例では、xp_hello 拡張ストアド プロシージャを登録します。
USE master
GO
EXEC sp_addextendedproc xp_hello, 'c:\xp_hello.dll'
参照
関連項目
EXECUTE (Transact-SQL)
GRANT (Transact-SQL)
REVOKE (Transact-SQL)
sp_dropextendedproc (Transact-SQL)
sp_helpextendedproc (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)