我正在尝试将我的 RDS SQL Server 2012 实例从磁性存储升级到 SSD。它是自带许可证的 db.m1.large 实例类。
- 我尝试修改存储类型,但无法对 SQL Server 实例执行此操作。
- 我尝试将我的实例快照还原到新的 SSD 实例。这也不允许,因为它说存储类型不同。
- 这让我只剩下一个选项。那就是创建一个新的 SSD 实例,在新服务器上创建我的数据库结构,然后使用 SQL Server 的导出/导入方法之一进行数据传输。
我的问题是,有没有更好的方法可以做到这一点?对于我使用 RDS 获得的好处而言,这似乎太难了。
后续问题是我是否应该将其移至 EC2 实例并完成 RDS,这样就不会再遇到此问题。
答案1
在文档中修改数据库实例以使用不同的存储类型有以下注释:
您不能修改现有的 SQL Server DB 实例来更改存储类型或修改存储分配。
正如您所说,您无法将快照恢复到其他存储类型。
我认为您的最佳选择是第 3 个选择。导出您的数据库,然后将其导入到您的新 RDS 实例上。
离开 RDS 转而使用 EC2 中的自托管版本似乎有点过分,因为更改存储类型并不是你每天都会做的事情,我猜这是你第一次也是最后一次这样做。特征至少在我看来,RDS 开箱即用的功能对于更改为自托管解决方案来说实在是太过强大了。
答案2
我知道这个问题已经存在 2.5 年了。但我们的流程如下:
如上所述,您无法使用自动 AWS 界面“就地”升级 SQL Server。但是...您可以将快照还原到使用新存储类型创建的新实例。假设您的实例名为 XYZ...请确保您有 XYZ 的快照。删除 XYZ。使用新存储类型创建一个名为 XYZ 的新实例。将 XYZ 的快照还原到新实例。将安全组应用于新实例。现在您可以启用多可用区镜像或其他操作。
关于跨存储快照恢复的问题..此页面有评论: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html
您可以还原数据库实例并使用与源数据库快照不同的存储类型。在这种情况下,还原过程会更慢,因为需要额外的工作才能将数据迁移到新的存储类型。在还原到磁性存储(标准)或从磁性存储还原时,迁移过程最慢,因为磁性存储不具备预配置 IOPS 或通用 (SSD) 存储的 IOPS 能力。