10

我有一个简单的 SQL 脚本,可以从 Visual Studio 手动执行。这是一个数据生成脚本,所以我预计它需要几分钟才能运行。但我收到以下错误。

超时已过。在操作完成之前超时时间已过或服务器没有响应。

我不想更改任何全局服务器设置来运行这个文件。是否有任何命令可以放在文件顶部以增加该脚本/事务的超时?

4

7 回答 7

12

如果您使用 SQL Management Studio,选项中有两个设置(我指的是我使用的 SQL Server 2005 中的 Management Studio):(
我的 Management Studio 是德文的,所以我希望我将名称正确翻译成英文)

您可以在“附加”->“选项”下的菜单中找到两者

在选项中,第一个在“查询执行”下,您可以在那里设置“执行超时”(我的已经为零)

第二个(我认为这是您需要的)是“Designer”下的第一个选项,它表示“Override Timeout for table Designer updates”之类的内容,您可以选中一个框并在那里输入一个值。
前段时间,我遇到了和你类似的问题(在大表上运行 ALTER TABLE 时出现超时消息),我通过将此选项设置为更高的值来解决它。

于 2009-02-04T12:18:07.890 回答
5

增加 CommandTimeout 属性将解决问题,即

SqlCommandObject.CommandTimeout = 500000

于 2010-10-04T19:13:49.007 回答
4

使用下面记录的过程增加 Visual Studio 中的查询超时和连接超时值。更改查询超时:

在 Visual Studio IDE 中,导航到工具 -> 选项 -> 数据库工具 -> 查询和视图设计器 您可以取消选中“取消长时间运行的查询”选项,或者将“取消后”选项的值更改为更高的值。更改连接超时:

在 Visual Studio IDE 中,通过导航到 View -> Server Explorer 来启用 Server Explorer 在 Server Explorer 中,右键单击与正在部署 CLR 对象的 SQL Server 的连接,然后选择 Modify Connection。单击“修改连接”窗口上的“高级”按钮。在“高级属性”窗口中,将“初始化”部分下的“连接超时”值更改为更高的值。

http://support.microsoft.com/kb/2011805

于 2013-03-21T21:26:55.680 回答
2

@christian 答案对我不起作用(更改 SQL Management Studio 中的设置)。

Biswa回答对我有用。我将包括代码来澄清

SqlCommand cmd = new SqlCommand("MyReport", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandTimeout = 60;  /* note default is 30 sec */
于 2012-01-20T18:44:08.420 回答
1

SQL Server 在返回给用户之前将无限期地等待。很可能设置了客户端超时属性。例如,您可以为 ADO 命令对象设置超时属性

干杯,安迪。

于 2009-02-04T11:58:22.190 回答
0

只是想澄清 Microsoft SQL Server Management Studio 2005 的具体步骤......即使在“查询执行”部分将“设计器”默认设置为“0”,因为“设计器”变量覆盖了“查询执行”,也肯定需要调整它'设置。

  1. 打开 Microsoft SQL Server Management Studio 2005
  2. 工具>>选项
  3. 展开“设计师”
  4. 我发现将“事务超时后”设置为 120 可以很好地更新具有数百万条记录的表。
于 2013-12-27T18:20:20.360 回答
0

没关系,我可以使用 SQL Management Studio 很好地运行它。

于 2009-02-04T11:00:24.100 回答