sp_procoption (Transact-SQL)

Applies to: SQL Server

Sets or clears a stored procedure for automatic execution. A stored procedure that is set to automatic execution runs every time an instance of SQL Server is started.

Transact-SQL syntax conventions


    [ @ProcName = ] N'ProcName'
    , [ @OptionName = ] 'OptionName'
    , [ @OptionValue = ] 'OptionValue'
[ ; ]


[ @ProcName = ] N'ProcName'

The name of the procedure for which to set an option. @ProcName is nvarchar(776), with no default.

[ @OptionName = ] 'OptionName'

The name of the option to set. @OptionName is varchar(35), and the only value possible is startup.

[ @OptionValue = ] 'OptionValue'

Whether to set the option on (true or on) or off (false or off). @OptionValue is varchar(12), with no default.

Return code values

0 (success) or error number (failure).


Startup procedures must be in the dbo schema of the master database, and can't contain INPUT or OUTPUT parameters. Execution of the stored procedures starts when all databases are recovered and the "Recovery is completed" message is logged at startup.


Requires membership in the sysadmin fixed server role.


The following example sets a procedure for automatic execution.

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

The following example stops a procedure from executing automatically.

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