sp_addextendedproc (Transact-SQL)

新しい拡張ストアド プロシージャの名前を Microsoft SQL Server に登録します。

ms188379.note(ja-jp,SQL.90).gifメモ :
この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに CLR Integration を使用してください。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

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 カタログ ビューにもエントリが追加されます。

ms188379.note(ja-jp,SQL.90).gif重要 :
完全パスで登録されなかった既存の 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)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手