2009-02-04 67 views
9

我有一個簡單的SQL腳本,我從Visual Studio手動執行。這是一個數據生成腳本,所以我預計它需要幾分鐘才能運行。但我得到以下錯誤。如何更改SQL Server中手動執行的查詢的超時值?

超時已過期。在完成 操作或服務器不是 響應之前已經過去了超時期限 。

我不想更改任何全局服務器設置以便能夠運行這一個文件。是否有任何命令可以放在文件的頂部以增加該腳本/事務的超時時間?

+0

腳本是數據庫項目的一部分嗎? – 2009-02-04 10:59:31

+0

該腳本不是數據庫項目的一部分。 – tpower 2009-02-04 14:29:19

回答

0

沒關係,我可以在SQL Management Studio中正常運行。

12

如果使用SQL Management Studio中,有在選項的兩個設置(我是從SQL Server 2005中,我用指Management Studio中):
(我的管理工作室是德國人,所以我希望我翻譯的正確名稱爲英文)

您可以在「其他」發現無論是在菜單 - >「選項」

在選項,第一個是「查詢執行」下,你可以在那裏設置「執行超時」(我的地址已經爲零)

第二個(我認爲這是你需要的)是「設計器」下的第一個選項,它表示「表格設計器更新的覆蓋超時」之類的東西,你可以選中一個框並在其中輸入一個值。
前段時間,我遇到了類似於你的問題(在大表上運行ALTER TABLE時發生超時消息),並通過將此選項設置爲更高的值來解決此問題。

4

增加CommandTimeout屬性將解決問題 即

SqlCommandObject.CommandTimeout = 500000

1

@christian回答我沒有工作(改變SQL Management Studio中設置)。

Biswa答案爲我工作。我將包括代碼以闡明

SqlCommand cmd = new SqlCommand("MyReport", conn); 
cmd.CommandType = CommandType.StoredProcedure; 
cmd.CommandTimeout = 60; /* note default is 30 sec */ 
4

使用下面介紹的過程在Visual Studio中增加查詢超時值和連接超時值。 更改查詢超時:

在Visual Studio IDE中,導航到工具 - >選項 - >數據庫工具 - >查詢和視圖設計 您可以取消該選項取消長時間運行的查詢或更改選項後取消的價值以更高的價值。 更改連接超時:

在Visual Studio IDE中,通過導航查看使服務器資源管理器 - >服務器資源管理器 在服務器資源管理器中,右鍵單擊連接到SQL Server上的CLR對象都被部署在那裏,選擇修改連接。 單擊Modify Connection窗口上的Advanced按鈕。 在「高級屬性」窗口中,將「初始化」部分下的「連接超時」值更改爲更高的值。

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

0

只是想澄清的Microsoft SQL Server Management Studio中2005的具體步驟......「設計師」默認肯定需要的,如果它被設置爲「0」在「查詢執行」部分作爲被調整,甚至'Designer'vars覆蓋'Query Execution'設置。

  1. 打開的Microsoft SQL Server Management Studio中2005
  2. 工具>>選項
  3. 展開 '設計師'
  4. 我發現設置 '交易超時後,' 120一直很好的更新擁有數百萬條記錄的表格。