2016-04-29 14 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

, безусловно, быстрый поиск Google будет показывать что-то? –

+3

RTFM. Я имею в виду, что на SqlCommand есть свойство. Он так скрыт, его даже называют «CommandTimeout». – TomTom

ответ

4

Использование CommandTimeout property (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

Большое спасибо –