如何强制SQL Server 2005对象现在重新编译

时间:2011-04-02 07:46:18

标签: sql-server-2005 stored-procedures recompile

根据this运行sp_recompile强制对象在下次运行时重新编译

我需要在运行sp-recompile命令时重新编译它,主要是检查语法错误和存储过程所依赖的对象的存在。

- 在sql 2008上有sys.sp_refreshsqlmodule模块...

1 个答案:

答案 0 :(得分:1)

执行此操作的最简单方法可能是重新部署存储过程,这将(据我所知)删除重新编译过程的需要。

这些方面的东西:

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