Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以在SQLServerManagementStudio中执行存储过程,但webservice不能_C#_.net_Sql Server_Web Services_Stored Procedures - Fatal编程技术网

C# 我可以在SQLServerManagementStudio中执行存储过程,但webservice不能

C# 我可以在SQLServerManagementStudio中执行存储过程,但webservice不能,c#,.net,sql-server,web-services,stored-procedures,C#,.net,Sql Server,Web Services,Stored Procedures,我有一个执行表格存储过程的webservice方法。此sp需要1分钟才能完全执行。我远程调用webservice方法并获得结果 在正常情况下,一切都很好,我成功地获得了结果 但是,当服务器繁忙时,Web服务无法执行该sp(我在SQL Profiler中对其进行了测试,但在SQL server Management Studio中我可以手动执行该sp) 当我重新启动SQL Server时,问题就解决了,Web服务可以执行sp 为什么在繁忙的情况下,webservice不能执行sp,但我可以在SQL

我有一个执行表格存储过程的webservice方法。此
sp
需要1分钟才能完全执行。我远程调用webservice方法并获得结果

在正常情况下,一切都很好,我成功地获得了结果

但是,当服务器繁忙时,Web服务无法执行该
sp
(我在SQL Profiler中对其进行了测试,但在SQL server Management Studio中我可以手动执行该
sp

当我重新启动SQL Server时,问题就解决了,Web服务可以执行
sp

为什么在繁忙的情况下,webservice不能执行
sp
,但我可以在SQLServerManagementStudio中执行


如何解释这种情况?我该如何解决这个问题呢?

执行
sp\u who
,看看发生了什么;我的猜测是它被阻止了——也许SSM和web服务之间的“隔离级别”不同

同样,SSM和web服务之间连接的
SET
选项也可能不同,这可能会导致行为上的某些变化,例如,计算存储的索引值非常容易受到
SET
选项的影响:如果调用者的选项与创建列时设置的选项不兼容,则可以强制调用者对它们进行表扫描,重新计算它们,而不是使用预索引值。这也适用于提升的xml值

最后要考虑的是参数嗅探;如果为具有与
yourproc'def'
非常不同的统计信息的
yourproc'abc'
生成缓存,那么它可能会运行非常糟糕的查询计划。
optimize for/unknown
提示可以帮助解决这个问题