Executando uma SP na Inicialização do SQL Server

Execute uma SP quando o serviço do SQL Server for iniciado sem a necessidade do SQL Agent.

Na vida profissional de um DBA temos algumas necessidades que fogem do cotidiano e que quase sempre temos or necessidade, por exemplo:  Executar um procedimento na inicialização do serviço MSSQLSERVER sem depender  do MSSQLAgent(SQL Agent)?  Procedimento esse que pode ser uma simples inicialização de trace ServerSide ou até configuração em ambientes Cluster Server.

Para tal atividade podemos utilizar o procedimento de sistema sys.sp_procoption para adiciona o procedimento de usuario a lista de inicialização do serviço MSSQLSERVER. Assim o mesmo será iniciado e retorno da execução será mostrada no log do SQL Server.

exemplo:

  1. Modificação na cofiguração do MSSQLSERVER:

exec sp_configure ’show advanced options’, 1
reconfigure
exec sp_configure ’scan for startup procs‘, 1
reconfigure with override

  1. Criação ou definição do seu procedimento armazenado:

create proc Exemplo1
as
begin
exec
xp_msver
return
end

3.  Adicionar o procedimento a lista de inicialização:

exec sys.sp_procoption ‘Exemplo’,’startup’, 1

Apos esses procedimentos seu procedimento será chamado e executado na proxima inicialização do serviço MSSQLSERVER. O resultado no log do SQL Server será algo parecido com:

Consulta dos procedimento com execução na inicialização:

select * from sys.procedures where is_auto_executed = 1

Para a utilização desse recursos temos observar alguns quesitos:

Até a próxima.

Artigos relacionados