Run a Stored Procedure when SQL Server starts
Recently I needed to setup a SQL Server box so it had access to a mapped drive to support a legacy application. I created the below stored procedure, which utilises the subst command. to get this done.
CREATE PROCEDURE usp_mapDDrive AS BEGIN EXEC master.dbo.xp_cmdshell 'Subst d: c:\', no_output; END GO |
I needed a way of ensuring this mapped drive was always available to SQL Server. After considering various ways of doing this I settled with sp_procoption. This is a neat little system stored procedure that you can use to execute a user proc at startup. Setting this up is easy.
exec sp_procoption @ProcName = usp_mapDDrive, @OptionName = 'STARTUP', @OptionValue = 'ON'; |
Turning it off again is simple.
exec sp_procoption @ProcName = usp_mapDDrive, @OptionName = 'STARTUP', @OptionValue = 'OFF'; |
Two caveats; you must create your stored procedure in the master database and it cannot contain input or output parameters.

