簡體   English   中英

'執行超時已過期。 在操作完成之前超時時間已過或服務器沒有響應。

[英]'Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.'

我想從選定的驅動器恢復數據庫,但每次它拋出以下異常

執行超時已過期。 在操作完成之前超時時間已過或服務器沒有響應。

但這僅適用於特定數據庫,當我嘗試恢復另一個數據庫時,它工作得很好。
誰能幫幫我。
以下代碼我使用過

openFileDialog1.ShowDialog();
query("IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = '" + cmbDatabaseName.Text + "') DROP DATABASE " + cmbDatabaseName.Text + " RESTORE DATABASE " + cmbDatabaseName.Text + " FROM DISK = '" + openFileDialog1.FileName + "'");
lbmsg.Visible = true;
lbmsg.Text = "Database Backup file has been restore successfully";

你的問題是 DROP DATABASE 因為它必須有一些連接。 將此命令放入您的代碼中: ALTER DATABASE

query("    
            IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = '" + cmbDatabaseName.Text + "'); 
            ALTER DATABASE " + cmbDatabaseName.Text + " SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
            DROP DATABASE " + cmbDatabaseName.Text + "; 
            RESTORE DATABASE " + cmbDatabaseName.Text + " FROM DISK = '" + openFileDialog1.FileName + "';
");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM