sp_procoption (Transact-SQL)

適用対象:SQL Server

ストアド プロシージャの自動実行を設定または解除します。 自動実行に設定されているストアド プロシージャは、SQL Server のインスタンスが起動されるたびに実行されます。

Transact-SQL 構文表記規則

構文

sys.sp_procoption
    [ @ProcName = ] N'ProcName'
    , [ @OptionName = ] 'OptionName'
    , [ @OptionValue = ] 'OptionValue'
[ ; ]

引数

[ @ProcName = ] N'ProcName'

オプションを設定するプロシージャの名前。 @ProcNameは nvarchar(776) で、既定値はありません。

[ @OptionName = ] 'OptionName'

設定するオプションの名前。 @OptionNameは varchar(35) で、使用可能な値は startup.

[ @OptionValue = ] 'OptionValue'

オプションをオン (または) またはonオフ (truefalseまたはoff) に設定するかどうか。 @OptionValueは varchar(12) で、既定値はありません。

リターン コードの値

0 (成功) またはエラー番号 (失敗)。

解説

スタートアップ プロシージャはデータベースのdbomasterスキーマに含まれている必要があり、パラメーターをOUTPUTINPUTめることはできません。 ストアド プロシージャの実行は、起動時にすべてのデータベースが復旧され、「復旧が完了しました」というメッセージが記録されると開始します。

アクセス許可

sysadmin 固定サーバー ロールのメンバーシップが必要です。

次の例は、プロシージャの自動実行を設定します。

EXEC sp_procoption @ProcName = N'<procedure name>',
    @OptionName = 'startup',
    @OptionValue = 'on';

次の例は、プロシージャの自動実行を停止します。

EXEC sp_procoption @ProcName = N'<procedure name>',
    @OptionName = 'startup',
    @OptionValue = 'off';