我有一个简单的 SQL 脚本,可以从 Visual Studio 手动执行。这是一个数据生成脚本,所以我预计它需要几分钟才能运行。但我收到以下错误。
超时已过。在操作完成之前超时时间已过或服务器没有响应。
我不想更改任何全局服务器设置来运行这个文件。是否有任何命令可以放在文件顶部以增加该脚本/事务的超时?
我有一个简单的 SQL 脚本,可以从 Visual Studio 手动执行。这是一个数据生成脚本,所以我预计它需要几分钟才能运行。但我收到以下错误。
超时已过。在操作完成之前超时时间已过或服务器没有响应。
我不想更改任何全局服务器设置来运行这个文件。是否有任何命令可以放在文件顶部以增加该脚本/事务的超时?
如果您使用 SQL Management Studio,选项中有两个设置(我指的是我使用的 SQL Server 2005 中的 Management Studio):(
我的 Management Studio 是德文的,所以我希望我将名称正确翻译成英文)
您可以在“附加”->“选项”下的菜单中找到两者
在选项中,第一个在“查询执行”下,您可以在那里设置“执行超时”(我的已经为零)
第二个(我认为这是您需要的)是“Designer”下的第一个选项,它表示“Override Timeout for table Designer updates”之类的内容,您可以选中一个框并在那里输入一个值。
前段时间,我遇到了和你类似的问题(在大表上运行 ALTER TABLE 时出现超时消息),我通过将此选项设置为更高的值来解决它。
增加 CommandTimeout 属性将解决问题,即
SqlCommandObject.CommandTimeout = 500000
使用下面记录的过程增加 Visual Studio 中的查询超时和连接超时值。更改查询超时:
在 Visual Studio IDE 中,导航到工具 -> 选项 -> 数据库工具 -> 查询和视图设计器 您可以取消选中“取消长时间运行的查询”选项,或者将“取消后”选项的值更改为更高的值。更改连接超时:
在 Visual Studio IDE 中,通过导航到 View -> Server Explorer 来启用 Server Explorer 在 Server Explorer 中,右键单击与正在部署 CLR 对象的 SQL Server 的连接,然后选择 Modify Connection。单击“修改连接”窗口上的“高级”按钮。在“高级属性”窗口中,将“初始化”部分下的“连接超时”值更改为更高的值。
@christian 答案对我不起作用(更改 SQL Management Studio 中的设置)。
Biswa回答对我有用。我将包括代码来澄清
SqlCommand cmd = new SqlCommand("MyReport", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandTimeout = 60; /* note default is 30 sec */
SQL Server 在返回给用户之前将无限期地等待。很可能设置了客户端超时属性。例如,您可以为 ADO 命令对象设置超时属性。
干杯,安迪。
只是想澄清 Microsoft SQL Server Management Studio 2005 的具体步骤......即使在“查询执行”部分将“设计器”默认设置为“0”,因为“设计器”变量覆盖了“查询执行”,也肯定需要调整它'设置。
没关系,我可以使用 SQL Management Studio 很好地运行它。