2017-04-12 60 views
0

我试图恢复远程SQL服务器上的一个.bak文件,但我发现试图恢复远程数据库

Cannot open backup device .bak Operating system error 21(The device is not ready.). RESTORE DATABASE is terminating abnormally. 

这就是我想

var restore = new Restore(); 
      restore.Database = databaseName; 
      restore.Action = RestoreActionType.Database; 
      restore.Devices.AddDevice(backUpFilePath, DeviceType.File); 
      restore.ReplaceDatabase = true; 
      restore.NoRecovery = false; 

      var sqlConnection = new SqlConnection(ConnectionString); 
      var serverConnection = new ServerConnection(sqlConnection); 

      var sqlServer = new Server(serverConnection); 
      restore.SqlRestore(sqlServer); 
+1

标记您正在使用的dbms。 (为了得到更好的关注,这是一个特定于产品的问题,甚至与SQL语言无关。) – jarlh

+0

错误消息似乎是说它认为“.bak”是备份设备。这就是我首先要看的。 ('restore.Devices.AddDevice(...)') –

回答

-1

我相信错误消息非常含糊,因为它可能意味着许多不同的事情。

您是否能够在SQL Server的应用程序之外还原该.bak? SQL错误日志是否提供了更多具体信息?

+0

这并不回答这个问题。使用问题中的“添加评论”链接发表评论或要求澄清。 –

+0

你必须有50个声望才能做到这一点......这似乎是一种不合逻辑的工作方式。 – Leonidas199x

+0

这是[FAQ](http://stackoverflow.com/help/whats-reputation)。 –