2011-12-29 57 views
0

环境或者是通过ASP.NET网站调用的sproc,或者直接来自SQL管理工作室。什么样的环境变量会影响存储过程的成功执行?

我开发了一个复制例程,它将指定源的层次结构(例如文件夹和文件)复制到指定的目标。我已经使用递归解决方案(即使用嵌套存储过程调用)和替代方法来实现这一点,首先,然后 - 通过查找 - 在复制到目标期间重新确定层次结构。

当从SSMS内执行复制例程(在其两个版本中)时,它的工作原理绝对完美,复制完全成功。但是,当从ASP.Net网站内部调用时,复制只发生到一定深度,然后停止。不会返回任何错误,也不会引发异常。日志记录表明复制停止在同一时间和同一深度的两个sproc的化身,当它失败时。

是否有与交易范围,缓冲问题的问题,主张允许执行时间,LINQ to SQL的limitiations或高速缓存的执行计划

任何帮助将不胜感激。

+1

也许你只是在默认超时? – Lucero 2011-12-29 13:38:54

+0

@brumScouse这个过程通常需要多长时间?小时,分钟,秒? – user1231231412 2011-12-29 13:39:28

+0

SSMS永远不会超时,.NET将在30秒内默认完成(CommandTimeout属性) – gbn 2011-12-29 13:42:59

回答

0

提供了一个广泛的答案。事实上,隔离L2S并直接通过ADO.NET api调用存储过程,提供了一个工作方案,这样做至少强调了一个影响存储过程成功执行的变量。 Jon C在这里值得一些喝彩。