Sql server 2005 现在如何强制重新编译SQL Server 2005对象
根据运行Sql server 2005 现在如何强制重新编译SQL Server 2005对象,sql-server-2005,stored-procedures,recompile,Sql Server 2005,Stored Procedures,Recompile,根据运行sp_recompile强制对象在下次运行时重新编译 我需要在运行sp recompile命令时重新编译它,主要是检查语法错误以及存储过程所依赖的对象是否存在 -- 在sql 2008上有sys.sp_refreshsqlmodule module…可能最简单的方法是重新部署存储过程,这将(据我所知)消除重新编译过程的需要 大致如下: SET @ProcedureName = 'SampleProcedure' CREATE TABLE #ProcedureContent (Text
sp_recompile
强制对象在下次运行时重新编译
我需要在运行sp recompile命令时重新编译它,主要是检查语法错误以及存储过程所依赖的对象是否存在
--
在sql 2008上有sys.sp_refreshsqlmodule module…可能最简单的方法是重新部署存储过程,这将(据我所知)消除重新编译过程的需要 大致如下:
SET @ProcedureName = 'SampleProcedure'
CREATE TABLE #ProcedureContent (Text NVARCHAR(MAX))
INSERT INTO #ProcedureContent
EXEC sp_helptext @ProcedureName
DECLARE @ProcedureText NVARCHAR(MAX)
SET @ProcedureText = ''
SELECT @ProcedureText = @ProcedureText + [Text] FROM #ProcedureContent
EXEC ('DROP PROCEDURE ' + @ProcedureName);
EXEC (@ProcedureText)
DROP TABLE #ProcedureContent
@opensas,我故意没有在这里这样做,这样脚本的核心就可以在没有外来“噪音”的情况下被看到,但是可以肯定的是,继续=)
sys.sp_refreshsqlmodule
也存在于SQLServer2005中。