C# 服务器';的还原失败\管道\81DAC374-2583-49\tsql\query';
错误:*“服务器'\.\pipe\81DAC374-2583-49\tsql\query'的还原失败”。* 我在这里得到错误C# 服务器';的还原失败\管道\81DAC374-2583-49\tsql\query';,c#,sql-server,vb.net,sql-server-2008,smo,C#,Sql Server,Vb.net,Sql Server 2008,Smo,错误:*“服务器'\.\pipe\81DAC374-2583-49\tsql\query'的还原失败”。* 我在这里得到错误resDB.SqlRestore(sv) 我的备份工作正常,但恢复失败。我正试图让它从过去两天的工作,但没有运气 Public Shared Sub RestoreBackup() Dim sConnect As String = My.Settings.LICConnectionString Dim dbName As String
resDB.SqlRestore(sv)
我的备份工作正常,但恢复失败。我正试图让它从过去两天的工作,但没有运气
Public Shared Sub RestoreBackup()
Dim sConnect As String = My.Settings.LICConnectionString
Dim dbName As String
Using cnn As New SqlConnection(sConnect)
cnn.Open()
dbName = cnn.Database.ToString()
cnn.ChangeDatabase("master")
Dim sc As New ServerConnection(cnn)
Dim sv As New Server(sc)
' Check that I'm connected to the user instance
MsgBox(sv.InstanceName.ToString())
' Create backup device item for the backup
Dim bdi As New BackupDeviceItem("C:\Backup\LIC.bak", DeviceType.File)
' Create the restore object
Dim resDB As New Restore()
resDB.Devices.Add(bdi)
resDB.NoRecovery = False
resDB.ReplaceDatabase = True
resDB.Database = dbName
' Restore the database
resDB.SqlRestore(sv)
MsgBox("Your database has been restored.")
End Using
End Sub
为什么失败?感谢您的帮助。看起来您正在尝试通过主数据库进行恢复。您需要将
cnn.ChangeDatabase(“master”)
更改为cnn.ChangeDatabase(“LIC”)。
编辑:
或者,将行cnn.ChangeDatabase(“master”)
一起删除,并在实例化还原类后添加以下行:
resDB.Action = RestoreActionType.Database
另外,如果备份来自另一台服务器,您可能希望使用
RelocateFile
-查看,您应该非常,非常感谢代码失败。@AndrewBarber我不知道你为什么把我的名字放在那个链接上。@AndrewBarber我很抱歉……我只是想告诉你我正在使用这个代码片段……请帮助我修复错误……为什么我应该感谢代码失败??请解释。用文字解释,不是没有任何解释的链接。@SunnyBhattacharjee我已经更新了答案。你发布的链接。