Asp.net sql express的奇怪情况

Asp.net sql express的奇怪情况,asp.net,sql-server,Asp.net,Sql Server,我在Sql server express(2012)中遇到了一个奇怪的问题,我将大量数据加载到内存中(使用实体框架),用它进行一些计算,然后将其批量插入到临时表中,并调用存储过程,使用merge语句将结果写回(在多个非重叠批次中加载数据后进行写入)。当我并行启动多个此类计算时,问题就开始了-突然,在大约30秒的时间内,数据库变得不可访问。所有表(而不仅仅是计算中使用的表)都在select上给出了此选项: System.Data.SqlClient.SqlException: Timeout ex

我在Sql server express(2012)中遇到了一个奇怪的问题,我将大量数据加载到内存中(使用实体框架),用它进行一些计算,然后将其批量插入到临时表中,并调用存储过程,使用merge语句将结果写回(在多个非重叠批次中加载数据后进行写入)。当我并行启动多个此类计算时,问题就开始了-突然,在大约30秒的时间内,数据库变得不可访问。所有表(而不仅仅是计算中使用的表)都在select上给出了此选项:

System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception: The wait operation timed out
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
而从ManagementStudio中选择则可以

奇怪,就像我说的,好像有什么资源没有了。这是express,我甚至不能正确地描述它。任何关于如何识别罪犯的建议都非常感谢

编辑 我现在发现,有时情况变得更糟,management studio根本无法连接到服务器:

A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 0 - The wait operation timed out.) (Microsoft SQL Server, Error: 258)

Edit2好的,罪魁祸首是express中1Gb的内存限制。我对1Gb的内存限制感到失望,说真的,我想知道为什么不直接使用平面文件或其他东西呢?

您正在进行的调用在计算上很昂贵吗?如果批量写入被分段,会有什么改进吗?即使您的请求超时,您是否能够要验证它们是否成功?@AlexT。你是说对数据库的调用吗?merge语句的计算代价很高,我可以看到一个核心几乎完全被占用(express只能使用一个核心)。大容量插入已经分段,并且最终成功。超时请求不会成功。@AlexT。我想知道如何验证它。几乎可以肯定是merge语句对锁有不良影响。您知道SQL Server Express中强制实施的硬件资源限制,对吧?例如1GB内存、1 CPU等。您只能执行o许多事情并行进行,直到您开始耗尽这些资源。另外,关于
MERGE