【问题标题】:Restore Database failed for Server为服务器还原数据库失败
【发布时间】:2013-08-20 17:33:53
【问题描述】:

使用这个我成功备份了我的数据库:

Server myServer = new Server(@"PC-1\INSTANCE1");   
private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {

                Backup bkpDBFull = new Backup();
                bkpDBFull.Action = BackupActionType.Database;
                bkpDBFull.Database = "MyDatabase";
                BackupDeviceItem bkpDevice = new BackupDeviceItem(saveFileDialog1.FileName, DeviceType.File);
                bkpDBFull.Devices.Add(bkpDevice);
                bkpDBFull.BackupSetName = "Sample";
                bkpDBFull.BackupSetDescription = "Sample";
                bkpDBFull.SqlBackup(myServer);
            }
        }
        catch (SmoException ex)
        {
            throw new SmoException(ex.Message, ex.InnerException);
        }
    }

但我在还原时遇到错误Restore failed for Server 'PC-1\INSTANCE1'.

    private void button2_Click(object sender, EventArgs e)
    {
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            Restore restoreDB = new Restore();
            restoreDB.Database = "MyDatabase";
            restoreDB.Action = RestoreActionType.Database;
            BackupDeviceItem bkpDevice = new BackupDeviceItem(openFileDialog1.FileName, DeviceType.File);
            restoreDB.Devices.Add(bkpDevice);
            restoreDB.ReplaceDatabase = true;
            restoreDB.SqlRestore(myServer);
        }
    }

我在备份和恢复中使用同一台服务器。为什么使用相同的服务器和数据库备份成功,但恢复失败?

【问题讨论】:

  • SQL Server 错误日志中的内容是什么?可能是因为在您尝试还原时打开了数据库连接,它无法获得独占访问权限,然后还原失败。
  • 恢复服务器“PC-1\INSTANCE1”失败。 SSMS 在操作期间关闭。
  • 恢复已经存在的数据库宽度databasename也可能导致这个问题。
  • 应该有一个 InnerException 或先前的日志条目,对失败的原因提供额外的解释。 (虽然如果我不得不猜测,我会尝试覆盖正在使用的 DB 或 DB 文件)。
  • 这个错误与尾日志备份有关吗?

标签: c# winforms sql-server-2008-r2 smo database-restore


【解决方案1】:

要排除的一件事是它不喜欢机器名称中的连字符,您不应该这样做。 如果您尝试使用 IP 地址作为服务器名称,则应该排除这种情况。

正如其他人所说,更有可能是一个正在使用的数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 2023-04-11
    • 1970-01-01
    • 2013-09-09
    • 2013-02-03
    • 2018-08-16
    相关资源
    最近更新 更多