c# SQL恢复打开的连接不能关闭

本文关键字:连接 不能 SQL 恢复 | 更新日期: 2023-09-27 17:51:01

我运行下面的代码,它告诉我已经有一个打开的连接到数据库。

data source=ws-server02;initial catalog=SL_M2009;
user id=sa;password=gregfhh

我检查了10次,但没有找到任何打开的东西。也许我的代码打开了一个连接,阻止恢复?

错误码在这里:

  1. http://grabilla.com/04313 - 7 - f69772a f65c - 4 a3c - 81 - c3 - c118f39ea907.html
  2. http://grabilla.com/04313 - 4 - f78e5cc - 27 - e3 - 4155 - b92f - 1 - da7976afdb7.html

我现在可以做些什么来完成还原?下面是相关的代码块。

string dbconnectstring = data source=ws-server02;initial catalog=SL_M2009;user id=sa; password=myownpw;
SqlConnection sqlConn = new SqlConnection(dbconnectstring);
Server sqlServer = new Server(new ServerConnection(sqlConn));
MessageBox.Show("Server Status: "
+ sqlServer.Status
+ "'r'nDatabase Name: "
+ sqlConn.Database + " Active Connections: "
+ sqlServer.GetActiveDBConnectionCount(sqlConn.Database));

Restore restoreDB = new Restore();
String file = NewestFile(dbsource);
restoreDB.Action = RestoreActionType.Database;
restoreDB.Database = sqlConn.Database;
restoreDB.Devices.AddDevice(NewestFile(dbsource), DeviceType.File);
restoreDB.ReplaceDatabase = true;
restoreDB.NoRecovery = true;
restoreDB.SqlRestore(sqlServer);

c# SQL恢复打开的连接不能关闭

试一下这段代码,希望能成功

ServerConnection connection = new ServerConnection(serverName, userName, password);
Server sqlServer = new Server(connection);
MessageBox.Show("Server Status: "
            + sqlServer.Status
            + "'r'nDatabase Name: "
            + sqlConn.Database + " Active Connections: "
            + sqlServer.GetActiveDBConnectionCount(sqlConn.Database));
Restore rstDatabase = new Restore();
rstDatabase.Action = RestoreActionType.Database;
rstDatabase.Database = databaseName;
BackupDeviceItem bkpDevice = new BackupDeviceItem(backUpFile, DeviceType.File);
rstDatabase.Devices.Add(bkpDevice);
rstDatabase.ReplaceDatabase = true;
rstDatabase.SqlRestore(sqlServer);
相关文章: