我有一个在 SQL Server 管理工作室中执行需要 5-10 秒的存储过程。
当从 C# 调用它时,它会在 10 分钟后超时:
cmd.CommandTimeout = 600;
我使用 sp_recompile 重新编译查询,还使用 DBCC DROPCLEANBUFFERS 和 DBCC FREEPROCCACHE 来清除任何缓存和执行计划,但均无济于事。
我已经搜索和搜索,但我只找到了指向我上面尝试过的答案。所以我在想,也许我错过了一些更明显的东西?
public static void Action_StoredProc(SqlConnection conn, Boolean map, string acc) {
SqlCommand cmd = new SqlCommand("Action_StoredProc", conn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("@map", SqlDbType.Bit).Value = map;
cmd.Parameters.Add("@acc", SqlDbType.VarChar).Value = acc;
cmd.CommandTimeout = 600;
cmd.ExecuteNonQuery();
}