【问题标题】:SMO Restoring Took ForeverSMO 恢复需要很长时间
【发布时间】:2013-08-02 19:53:34
【问题描述】:

我使用这个 SMO 来恢复备份:

        Server myServer = new Server(@"PC-1\Instance1");
        Restore restoreDB = new Restore();
        restoreDB.Database = "Sample";
        restoreDB.Action = RestoreActionType.Database;
        restoreDB.Devices.AddDevice(@"D:\Sample.bak", DeviceType.File);
        restoreDB.ReplaceDatabase = true;
        restoreDB.NoRecovery = true;
        restoreDB.SqlRestore(myServer);

但是当我打开 SSMS 时,恢复需要很长时间

我用这个来备份数据库并且能够备份数据库

            Server myServer = new Server(@"PC-1\Instance1");
            Backup bkpDBFull = new Backup();
            bkpDBFull.Action = BackupActionType.Database;
            bkpDBFull.Database = "Sample";
            bkpDBFull.Devices.AddDevice(@"D:\Sample.bak", DeviceType.File);
            bkpDBFull.BackupSetName = "Sample";
            bkpDBFull.BackupSetDescription = "Sample";
            bkpDBFull.ExpirationDate = DateTime.Today.AddDays(5);
            bkpDBFull.Initialize = false;
            bkpDBFull.SqlBackup(myServer);

【问题讨论】:

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


    【解决方案1】:

    您的代码中有以下行:

    restoreDB.NoRecovery = true;
    

    因此,数据库将在 SSMS 中一直显示为正在恢复,直到您运行

    RESTORE DATABASE [sample] WITH RECOVERY
    

    或者它的 SMO 等价物,我不确定那会是什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 2020-08-26
      • 2014-10-09
      • 2012-11-26
      • 2019-12-27
      相关资源
      最近更新 更多