2016-04-29 162 views
0

我嘗試備份我的數據庫,但我得到一個錯誤:備份大尺寸數據庫超時錯誤在SQL Server

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
The backup or restore was aborted.

這是我的代碼,我的數據庫是高達20GB的大小。

string query = "Backup database Testing to disk='C:\Test.bak'" 
con.Open(); 
cmd = new SqlCommand(query, con); 
cmd.ExecuteNonQuery(); 
con.Close(); 

如何更改C#或查詢中的超時值?

+1

肯定是一個快速谷歌搜索會顯示什麼? –

+3

RTFM。我的意思是,嚴格來說,SqlCommand有一個屬性。它如此隱藏,甚至被命名爲「CommandTimeout」。 – TomTom

回答

4

使用CommandTimeout屬性Documentation),0表示沒有限制。

添加

cmd.CommandTimeout = 0

到您的代碼:

string query = "Backup database Testing to disk='C:\Test.bak'" 
con.Open(); 
cmd = new SqlCommand(query, con); 
cmd.CommandTimeout = 0; 
cmd.ExecuteNonQuery(); 
con.Close(); 
+0

什麼是0? 0沒有限制? –

+0

是的。編輯答案使其更清晰 –

+0

非常感謝 –