«Тайм-аут операции ожидания» во время SMO SqlBackup - как это предотвратить? - PullRequest
1 голос
/ 31 января 2020

У меня есть C# приложение WPF, которое время от времени должно выполнять резервное копирование локальной базы данных. Я делаю это, используя следующий код:

//Initialise the backup
Microsoft.SqlServer.Management.Smo.Backup backUp = new Microsoft.SqlServer.Management.Smo.Backup();
backUp.BackupSetName = "File location";
backUp.Devices.AddDevice("File location", DeviceType.File);
backUp.Database = "Database name";
backUp.Incremental = false;
backUp.Initialize = true;
backUp.Action = BackupActionType.Database;
backUp.PercentComplete += new PercentCompleteEventHandler(OnBackupUpdate);

//Back up the database
backUp.SqlBackup(Server);

Я использую приложение на Windows XP, Windows 7 и Windows 8 в течение многих лет и никогда не сталкивался с проблемой. Однако недавно я начал использовать его в Windows 10, а иногда (примерно в 5% случаев, но это чистая оценка) начинается резервное копирование, и через 10 минут в журналах ошибок моего приложения регистрируется следующая ошибка.

28/01/2020 12:46:32  BackupDatabase -> Calling BackupDatabaseSMO
28/01/2020 12:56:32  The wait operation timed out
28/01/2020 12:56:32  Win32 Error: 258 --> 
28/01/2020 12:56:32  Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
28/01/2020 12:56:32  SQL error number = -2 --> SQL server = (local)\MyServer --> SQL state = 0 --> Error code = -2146232060 --> SQL Error: System.Data.SqlClient.SqlError: Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. --> 
28/01/2020 12:56:32  An exception occurred while executing a Transact-SQL statement or batch.
28/01/2020 12:56:32  Unknown exception
28/01/2020 12:56:32  Backup failed for Server 'MyPC\MyAccount'. 
28/01/2020 12:56:32  Unknown exception
28/01/2020 12:56:32  Failed to backup the database 'LocalWpfDb' on server 'MyPC\MyAccount'. The following message was returned: The wait operation timed out

Это только начало происходить, теперь я перешел на Windows 10, и это происходит только в некоторых случаях. Кто-нибудь знает какие-либо вероятные объяснения этому, и есть ли параметр, который я могу изменить на P C или в приложении, чтобы предотвратить это?

...