代码之家  ›  专栏  ›  技术社区  ›  gotmike

如何还原SQL Server。亚马逊RDS中的bak

  •  2
  • gotmike  · 技术社区  · 7 年前

    正在尝试还原。来自S3的bak文件。

    我在SQL server express和web上进行了尝试。2012年至2017年版本。

    我试过t2。micro和t2。小的

    这是我的 task_info 表示:

     [2018-03-21 10:20:22.107] Task execution has started.
     [2018-03-21 10:20:22.280] myDb.bak: Completed processing 17.27% of S3 chunks.
     [2018-03-21 10:20:22.327] myDb.bak: Completed processing 34.48% of S3 chunks.
     [2018-03-21 10:20:22.357] 9 percent processed.
     [2018-03-21 10:20:22.373] myDb.bak: Completed processing 51.68% of S3 chunks.
     [2018-03-21 10:20:22.450] myDb.bak: Completed processing 68.88% of S3 chunks.
     [2018-03-21 10:20:22.500] 13 percent processed.
     [2018-03-21 10:20:22.513] myDb.bak: Completed processing 86.09% of S3 chunks.
     [2018-03-21 10:20:22.547] 18 percent processed.
     [2018-03-21 10:20:22.560] myDb.bak: Completed processing 100% of S3 chunks.
     [2018-03-21 10:20:22.640] 23 percent processed.
     [2018-03-21 10:20:22.653] Read on "F470E52D-DEA8-4EB1-B0AC-6F03D091E223" failed: 30(The system cannot read from the specified device.)
     [2018-03-21 10:20:22.653] RESTORE DATABASE is terminating abnormally.
     [2018-03-21 10:22:22.027] myDb.bak: S3 processing completed successfully
     [2018-03-21 10:22:22.027] Aborted the task because of a task failure or a concurrent RESTORE_DB request.
     [2018-03-21 10:22:22.090] myDb.bak: S3 processing has been aborted
     [2018-03-21 10:22:22.107] Unable to retrieve family guid for database name: myDbName
    

    我已经在网上搜索过了,但没有找到。

    流程概述如下: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html

    任何帮助都会很好!

    更新

    我在这一页上注意到: https://aws.amazon.com/blogs/database/migrating-microsoft-sql-server-enterprise-workloads-to-amazon-rds-part-1/

    上面写着:

    当还原的数据库包含 一个大型日志文件和SQL Server正在执行崩溃恢复。收缩 在创建备份并将其上载到S3之前,先在本地创建日志文件, 并发出恢复任务。

    正在尝试此操作。。。

    1 回复  |  直到 7 年前
        1
  •  0
  •   gotmike    7 年前

    好吧,我找到了解决方法,但我不会说我找到了问题。

    我使用cpanel在托管环境中创建备份。原来是在运行sql server 2012。我不确定这是否重要。

    虽然我可以让它在本地恢复,但它在RDS中不起作用。

    因此,我所做的是在我的桌面上安装最新版本的SQL Server 2017,恢复到该计算机,然后收缩数据库和文件。

    之后,我在我的桌面上做了一个新的备份,然后上传到s3并运行restore命令。

    这次成功了。不知道为什么。

    远程备份过程一定有些奇怪。

    希望这对其他人有帮助。