Sql server 迁移到Amazon SQL Server RDS
我一直在尝试从Win2008服务器上的常规SQL Server转移到Amazon AWS RDS上的SQL Server 我认为一个简单的备份和恢复就可以了。虽然AWS RDS似乎无法访问文件系统,但sql脚本似乎都需要源服务器和目标服务器上的本地文件系统。我尝试了下面的脚本Sql server 迁移到Amazon SQL Server RDS,sql-server,amazon-rds,Sql Server,Amazon Rds,我一直在尝试从Win2008服务器上的常规SQL Server转移到Amazon AWS RDS上的SQL Server 我认为一个简单的备份和恢复就可以了。虽然AWS RDS似乎无法访问文件系统,但sql脚本似乎都需要源服务器和目标服务器上的本地文件系统。我尝试了下面的脚本 exec sp_addlinkedserver @server='test.xxxx.us-east-1.rds.amazonaws.com' -- Verify that the servers were linked
exec sp_addlinkedserver @server='test.xxxx.us-east-1.rds.amazonaws.com'
-- Verify that the servers were linked (lists linked servers)
exec sp_linkedservers
EXEC ('RESTORE DATABASE [orchard] FROM DISK = ''C:\Temp\orchard.bak'' WITH FILE = 1, NOUNLOAD, STATS = 10')
AT [test.xxxx.us-east-1.rds.amazonaws.com]
任何建议都会很有帮助。下面这篇文章讨论了如何用数据复制数据库–生成T-SQL以将数据从一个表插入到另一个表,这是我所需要的
从下载免费的“SQL Azure迁移向导”——我对此做了简短介绍。请确保将向导中的“to”设置设置为AWS DNS名称,然后使用“SQL Server 2008”和“SQL Azure”在源数据库上使用SQL Server management studio中的导出向导。右键单击数据库>任务>导出数据。有一个向导指导您将整个数据库发送到远程sql server。我得到的官方消息是,AWS支持使用.bak文件迁移sql数据库,但它不受支持。因此,不再需要从.bak文件进行快速恢复。他们在这里为现有数据库的迁移提供了官方帮助: 另外,我还对Azure数据库迁移工具非正式地眨眼。只需使用它生成模式和/或数据的脚本,并针对RDS实例执行它。这是个好工具。您必须先将.bak导入非RDS SQL server才能执行此操作
我根据Lynn的屏幕广播编写了一些关于使用SQL Azure迁移工具的分步说明。这是一种比官方说明简单得多的方法,它对我迁移的几个数据库都很有效。您可能会发现BACPAC格式将为您提供最方便的解决方案。可以使用生成同时包含数据库架构和数据的文件。将创建一个新数据库,其中包含基于该文件的数据 与操作相反,导出和导入不需要访问数据库服务器的文件系统 您可以使用SQL Server Management Studio或通过.Net、Powershell、MSBuild等中的API处理BACPAC文件 请注意,使用此方法导出以及从Amazon RDS导入和导入时会出现问题。在RDS上创建新数据库时,将在其中创建以下两个对象
- 具有db_所有者角色成员身份的用户
- rds_deny_backups_触发器
- SqlRoleMembership
- SqlPermissionStatement
- SqlLogin
- SqlUser
- SqlDatabaseDdlTrigger
注意:使用SQL Server Management Studio将BacPac导入RDS时还有另一个相关问题,我对此进行了解释。AWS设计的一个工具可以回答大多数(如果不是全部)兼容性问题-SQL Server的模式转换工具: 由于并非所有sql server数据库对象都受RDS支持,甚至在不同的sql server版本中也有所不同,因此评估报告也非常值得您花时间: 最后,一定要利用数据库迁移服务:
您只是在传输数据库模式,还是也需要传输数据?Amazon RDS这一事实并没有考虑到这一点。您必须记住,无论何时访问本地文件系统,都是与运行T-SQL的数据库引擎相关的。在本例中,您尝试从Amazon实例的C驱动器还原一个文件。那里不存在那个文件。如果可能的话,把你的文件放在那里,或者放在服务器上,在那里你可以通过UNC访问它。然而,如果RDS不可能做到这一点,我也不会感到惊讶。我想亚马逊不想在他们的文档上链接到这一点,但这是一种比他们建议的(我之前已经浪费了好几个小时)更容易迁移的方式。有人偷偷进入了这个论坛底部的参考资料/抱怨:说清楚,你是说这个工具可以将SQLAzure数据库移动到RDS?事实似乎并非如此。“源”下拉列表仅允许使用SQL Server,并且如果您尝试连接到SQL Server