dot*_*der 4 sql stored-procedures sql-server-2008
我在sql server 2008上有一个存储过程,它除了一个int参数.它确实调用其他存储过程并具有嵌套的quires.
我面临的问题是,当我从SQL服务器管理工作室运行该程序时,它不执行并超时.
如果我在另一个SQL服务器管理工作室中单独运行存储过程中的查询,它只执行所有罚款.
我无法调试此问题.将深深感谢任何帮助/指点深入挖掘.
(我在执行proc或查询时使用相同的凭据)
提前致谢.
可能是参数嗅探的情况.
尝试将sproc参数分配给局部变量,并使用sproc中的查询中的那些参数.
例如
CREATE PROCEDURE [TestSproc]
@Param1 INTEGER
AS
BEGIN
DECLARE @Param1_LOCAL INTEGER
SET @Param1_LOCAL = @Param1
SELECT Something
FROM Somewhere
WHERE SomeField = @Param1_LOCAL
END
Run Code Online (Sandbox Code Playgroud)