適用対象:SQL Server
ストアド プロシージャの自動実行を設定または解除します。 自動実行に設定されているストアド プロシージャは、SQL Server のインスタンスが起動されるたびに実行されます。
構文
sys.sp_procoption
[ @ProcName = ] N'ProcName'
, [ @OptionName = ] 'OptionName'
, [ @OptionValue = ] 'OptionValue'
[ ; ]
引数
[ @ProcName = ] N'ProcName'
オプションを設定するプロシージャの名前。 @ProcName は nvarchar(776)で、既定値はありません。
[ @OptionName = ] 「オプションネーム」
設定するオプションの名前。
@OptionName は varchar(35)であり、使用可能な唯一の値は startup。
[ @OptionValue = ] 「オプションバリュー」
オプションを有効にするか無効にするかを指定します。 @OptionValuevarchar(12)であり、デフォルトはなく、以下のいずれかの値になります。
| Enabled | Disabled |
|---|---|
true |
false |
on |
off |
yes |
no |
1 |
0 |
リターン コードの値
0 (成功) またはエラー番号 (失敗)。
解説
スタートアップ プロシージャは、dbo データベースのmaster スキーマに含まれている必要があり、INPUTまたはOUTPUTパラメーターを含めることはできません。 ストアド プロシージャの実行は、起動時にすべてのデータベースが復旧され、「復旧が完了しました」というメッセージが記録されると開始します。
アクセス許可
sysadmin 固定サーバー ロールのメンバーシップが必要です。
例
次の例は、プロシージャの自動実行を設定します。
EXECUTE sp_procoption
@ProcName = N'<procedure name>',
@OptionName = 'startup',
@OptionValue = 'on';
次の例は、プロシージャの自動実行を停止します。
EXECUTE sp_procoption
@ProcName = N'<procedure name>',
@OptionName = 'startup',
@OptionValue = 'off';