sql-server - 在同一 Amazon RDS 上创建重复的 SQL Server 数据库
问题描述
背景:我正在将一些客户端移动到 AWS RDS SQL 服务器实例。每个人都有两个数据库:一个用于他们的实时数据,一个用于训练数据,这是他们的实时数据的副本。培训数据库通过使用实时数据库定期恢复来保持最新。理想情况下,这些数据库将托管在同一个 RDS 实例上,因为它们不是那么大,而且托管成本会减半。
问题:亚马逊在他们的文档中有这些限制:
您无法将备份文件还原到用于创建备份文件的同一数据库实例。相反,将备份文件还原到新的数据库实例。重命名数据库不是解决此限制的方法。
您无法将同一个备份文件多次还原到数据库实例。也就是说,您无法将备份文件还原到已包含您要还原的数据库的数据库实例。重命名数据库不是解决此限制的方法。
因此,像往常一样备份实时数据库并将其恢复到训练数据库已经结束。除了为每个客户端托管两个单独的实例之外,我最好的选择是什么?
解决方案
好消息:
RDS 文档中先前列出的限制已被删除:
您无法将备份文件还原到用于创建备份文件的同一数据库实例。相反,将备份文件还原到新的数据库实例。重命名数据库不是解决此限制的方法。
您无法将同一个备份文件多次还原到数据库实例。也就是说,您无法将备份文件还原到已包含您要还原的数据库的数据库实例。重命名数据库不是解决此限制的方法。
msdb.dbo.rds_restore_database
我刚刚对此进行了测试,并且能够使用链接文档中定义的存储过程多次将相同的备份还原到同一 RDS SQL Server 上的不同数据库名称,而不会出现问题。
推荐阅读
- docker - 在 dockerfile 中执行一个简单的 go .exe
- python - 在多个值中寻找价值
- javascript - API 包含 JSON 数据如何在 HTML 和 JavaScript 上呈现?
- atlassian-sourcetree - 完成发布期间的 Sourcetree 致命错误 - 致命:无法读取“https://github.com”的用户名:未配置设备
- dialogflow-es - Google Assistant 上的用户位置(纬度和经度)没有快速更新
- sql - 具有许多参数的条件
- javascript - Google OAuth:尝试发出获取请求时,请求的资源上不存在“Access-Control-Allow-Origin”标头
- flutter - 如何在颤动中扩展的 sliverappbar 内制作个人资料图片
- python - 有没有办法在 python 中为带有类型提示的函数参数指定一系列有效值?
- javascript - 无法为范围角度注册 ServiceWorker