sp_recompile (Transact-SQL)

Hace que se vuelvan a compilar los procedimientos almacenados y los desencadenadores la próxima vez que se ejecuten.

Icono de vínculo a temasConvenciones 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)

Ayuda e información

Obtener ayuda sobre SQL Server 2005