sp_recompile (Transact-SQL)
Faz com que procedimentos armazenados e gatilhos sejam recompilados na execução seguinte. Isso é feito com a remoção do plano existente do cache de procedimento que força um novo plano a ser criado na próxima vez que o procedimento ou gatilho for executado. Em uma coleção de SQL Server Profiler, o evento SP:CacheInsert é registrado em log em vez do evento SP:Recompile.
Sintaxe
sp_recompile [ @objname= ] 'object'
Argumentos
- [ @objname = ] 'object'
É o nome qualificado ou não de um procedimento armazenado, gatilho, uma tabela ou exibição no banco de dados atual. object é nvarchar(776), sem padrão. Se object for o nome de um procedimento armazenado ou gatilho, o procedimento armazenado ou gatilho serão recompilados na próxima vez em que forem executados. Se object for o nome de uma tabela ou exibição, todos os procedimentos armazenados que referenciam a tabela ou exibição serão recompilados na próxima vez em que forem executados.
Valores de código de retorno
0 (êxito) ou um número diferente de zero (falha)
Comentários
sp_recompile procura um objeto somente no banco de dados atual.
As consultas usadas por procedimentos armazenados e gatilhos são otimizadas somente quando são compiladas. Como índices ou outras alterações que afetam as estatísticas são feitos no banco de dados, os procedimentos armazenados compilados e os gatilhos podem perder a eficiência. Recompilando procedimentos armazenados e gatilhos que agem em uma tabela, você pode reotimizar as consultas.
Observação |
---|
O SQL Server recompila procedimentos armazenados e gatilhos automaticamente quando for vantajoso fazer isso. |
Permissões
Requer permissão ALTER no objeto especificado.
Exemplos
O exemplo seguinte faz com que procedimentos armazenados que agem na tabela Customer sejam recompilados da próxima vez que forem executados.
USE AdventureWorks;
GO
EXEC sp_recompile N'Sales.Customer';
GO
Consulte também