Не удалось восстановить сервер '\\. \ Pipe \ 81DAC374-2583-49 \ tsql \ query' - PullRequest
0 голосов
/ 15 января 2012

Ошибка: * "Не удалось восстановить сервер '\. \ Pipe \ 81DAC374-2583-49 \ tsql \ query'." *

я получаюошибка здесь 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

Почему происходит сбой ?? Любая помощь оценена.

1 Ответ

1 голос
/ 15 января 2012

Похоже, вы пытаетесь восстановить базу данных master.Вам нужно изменить cnn.ChangeDatabase("master") на cnn.ChangeDatabase("LIC").

РЕДАКТИРОВАТЬ:

В качестве альтернативы, удалить строку cnn.ChangeDatabase("master") в целом и добавить следующую строку после создания экземпляра Restoreкласс:

resDB.Action = RestoreActionType.Database

Кроме того, если резервная копия с другого сервера, вы можете посмотреть, используя RelocateFile - Как восстановить базу данных из C #

...