sp_recompile (Transact-SQL)
Causa la ricompilazione di stored procedure e trigger alla successiva esecuzione delle stored procedure e dei trigger.
Convenzioni della sintassi Transact-SQL
Sintassi
sp_recompile [ @objname = ] 'object'
Argomenti
[ @objname = ] 'object'
Nome qualificato o non qualificato di una stored procedure, un trigger, una tabella o una vista nel database corrente. object è di nvarchar(776) e non prevede alcun valore predefinito. Se object corrisponde al nome di una stored procedure o un trigger, tale stored procedure o trigger verrà ricompilato alla successiva ricompilazione. Se object corrisponde al nome di una tabella o vista, tutte le stored procedure che fanno riferimento alla tabella o vista verranno ricompilate alla successiva esecuzione.
Osservazioni
La stored procedure sp_recompile esegue la ricerca di un oggetto solo nel database corrente.
Le query utilizzate da stored procedure e trigger vengono ottimizzate solo in fase di compilazione. Effettuando indicizzazioni o altre modifiche che hanno effetto sulle statistiche, il livello di efficienza di stored procedure e trigger dopo la compilazione potrebbe risultare minore. Tramite la ricompilazione delle stored procedure e dei trigger che modificano una tabella, è possibile riottimizzare le query.
[!NOTA] In SQL Server le stored procedure e i trigger vengono ricompilati automaticamente quando la ricompilazione risulta un'operazione vantaggiosa.
Autorizzazioni
È richiesta l'autorizzazione ALTER per l'oggetto specificato.
Valori restituiti
0 (esito positivo) o un numero diverso da zero (esito negativo)
Esempi
Nell'esempio seguente viene definita la ricompilazione delle stored procedure che modificano la tabella Customer
alla loro successiva esecuzione.
USE AdventureWorks;
GO
EXEC sp_recompile N'Sales.Customer';
GO
Vedere anche
Riferimento
CREATE PROCEDURE (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
Stored procedure di sistema (Transact-SQL)