sp_addextendedproc (Transact-SQL)

適用対象:SQL Server

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

Note

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに CLR 統合を使用してください。

Transact-SQL 構文表記規則

構文

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';