次の方法で共有


sp_procoption (Transact-SQL)

適用対象: SQL Server

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

Transact-SQL 構文表記規則

構文

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

引数

[ @ProcName = ] N'ProcName'

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

[ @OptionName = ] 'OptionName'

設定するオプションの名前。 @OptionNamevarchar(35)であり、使用可能な唯一の値は startup

[ @OptionValue = ] 'OptionValue'

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

リターン コードの値

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

解説

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

アクセス許可

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

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

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

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

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