sp_recompile (Transact-SQL)
Hace que se vuelvan a compilar los procedimientos almacenados y los desencadenadores la próxima vez que se ejecuten.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_recompile [ @objname = ] 'object'
Argumentos
[ @objname = ] 'object'
Es el nombre calificado o no calificado de un desencadenador, tabla, vista o procedimiento almacenado de la base de datos actual. object es de tipo nvarchar(776) y no tiene ningún valor predeterminado. Si object es el nombre de un procedimiento almacenado o de un desencadenador, la próxima vez que éste se ejecute se volverá a compilar. Si object es el nombre de una tabla o vista, la próxima vez que se ejecuten todos los procedimientos almacenados que hagan referencia a la tabla o vista, se volverán a compilar.
Notas
sp_recompile busca un objeto sólo en la base de datos actual.
Las consultas que utilizan los procedimientos almacenados o desencadenadores sólo se optimizan cuando se compilan. A medida que se crean índices o se realizan otros cambios que afectan a las estadísticas de la base de datos, los procedimientos almacenados y desencadenadores compilados pueden perder eficacia. Al volver a compilar los procedimientos almacenados y desencadenadores que actúan sobre una tabla, puede volver a optimizar las consultas.
[!NOTA] SQL Server vuelve a compilar automáticamente los procedimientos almacenados y desencadenadores cuando esto supone una mejora.
Permisos
Requiere el permiso ALTER en el objeto especificado.
Valores de código de retorno
0 (correcto) o número distinto de cero (error)
Ejemplos
El siguiente ejemplo provoca que los procedimientos almacenados que actúan en la tabla Customer
se vuelvan a compilar la próxima vez que se ejecuten.
USE AdventureWorks;
GO
EXEC sp_recompile N'Sales.Customer';
GO
Vea también
Referencia
CREATE PROCEDURE (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)