我有一个存储过程,当直接对数据库执行时需要1秒运行。它返回46行数据。SQL Azure存储过程超时问题
存储过程在我的网站代码中执行并返回数据以创建报告。
这与本地的预期完全一致,需要很短的时间(1/2秒)来加载报告。首次部署网站时,报告按预期工作。
但是,经过一段时间(大约半小时)之后,报告无法加载,因为存储过程超时。
为了解决这个问题,如果我放弃并创建过程,它将重新开始工作,但这显然不是解决我的问题的方法。
的存储过程调用这样的代码:
DataSet content = new DataSet();
Database db = DatabaseFactory.CreateDatabase();
DbCommand cmdSearchQuestionLibrary = db.GetStoredProcCommand("SP_NAME");
db.AddInParameter(cmdSearchQuestionLibrary, "@Param1", DbType.Int64, Id);
db.AddInParameter(cmdSearchQuestionLibrary, "@StartDate", DbType.DateTime, dtStartDate);
db.AddInParameter(cmdSearchQuestionLibrary, "@EndDate", DbType.DateTime, dtEndDate);
content = db.ExecuteDataSet(cmdSearchQuestionLibrary);
有没有人经历过这个?或者知道可能会导致问题的原因是什么?
尝试重新编译运行中的SP。这可能会缩小问题的范围。 [见这里](http://blog.sqlauthority.com/2010/02/20/sql-server-recompile-stored-procedure-at-run-time/) –