将数据从SQL Server 2005迁移到2016


9

我是管理SQL Server的新手,但是我对SQL语言和制作SSIS包感到满意。

我想将数据从SQL Server 2005迁移到2016。

我的问题是我是否需要担心系统数据库和其他对象,例如索引,存储过程,视图,安全性和权限。登录,或者我可以只迁移数据。

在这种情况下,建议使用此程序。


您是否要升级生产实例?即您是否需要相同的登录名,索引,存储过程等?实际上,您的问题确实很广泛。请参观,并阅读帮助中心中有关如何提问的问题。谢谢!
Max Vernon

Answers:


7

Max给出了一个不错的答案,当我输入完该备用视图后,我会投票赞成。

我不喜欢在进行升级迁移时还原系统数据库,并且我喜欢迁移而不是就地升级,正如我在对另一个问题的冗长回答中所讨论的那样。

基本上,我喜欢在迁移时开始“新鲜”。我发现通过还原进行系统数据库的迁移和升级有时会导致还原受挫,并且可能会带来潜在的麻烦。

您还询问了索引,存储过程,视图。这些数据库级别的项目应全部存在于用户数据库中。因此,当您将数据库X还原到新服务器时,所有数据库对象(表,用户,视图,过程,函数等)也将在那里。

系统数据库中存在的是作业,登录名,警报,链接的服务器,加密密钥等。实例级别的项目。

我喜欢复习这些内容,并使用各种脚本来迁移所需的内容-最近就是DBATools.Io powershell脚本。我特别喜欢使用他们的脚本来复制sql登录名,因为它可以处理经过SQL身份验证的用户,使他们的密码和安全标识符保持相同,以便这些登录名中的数据库用户都可以使用。他们还有一个完整的SQL Server迁移命令,该命令运行其子命令来复制我通常要复制的项目。

我不认为马克斯对此答案有错,因此不赞成。我只是获得了更多的成功和更多的运气,并且更愿意迁移到新版本,而不是尝试在版本之间恢复系统数据库。我要说的是,老实说,我不记得上一次进行版本升级迁移并且没有以这种方式执行而不是还原系统数据库的事情。


感谢您的回答。我不想从2005年升级到2016年。我想将数据库从不再在sql server 2005上使用的实例迁移到2016年的现有实例。此迁移尚未获得批准,但是我想准备在何时是的。基本上,我之所以得到这个项目,是因为我是唯一一个在查询和创建SSIS包方面具有任何SQL经验的人。我还担心兼容性问题。再次感谢。
罗伯特

当然可以,但是从2005年迁移到2016年时,您正在升级。您正在执行升级和迁移。因为您要将数据库从一种版本的SQL迁移到另一种版本,所以这肯定意味着要升级。您应该在数据库上运行升级顾问。
Mike Walsh

如果SQL Server 2005由Windows Server 2003 R2 x86托管,而SQL Server 2016在较新的操作系统上,该怎么办。
罗伯特

@MikeWalsh我几乎同意您在回复中描述的所有内容。在执行SQL升级/迁移时,我也几乎遵循所有这些操作
nam

4

如果您需要访问存储在这些数据库中的元数据,则需要考虑迁移系统数据库(主数据库,msdb以及模型)。

主机存储诸如登录名,安全证书等项。

msdb包含有关备份的详细信息,并存储SQL Server代理作业配置以及其他详细信息。

您或您的团队可能已自定义模型,以允许新创建的空白数据库包含您在每个数据库中使用的一组预定义对象。

迁移系统数据库很容易完成。可从MSDN的“系统数据库的备份和还原(SQL Server)”中获得详细说明。

根据您的要求,您可以BACKUP DATABASE在2005实例上对用户数据库执行操作,然后RESTORE DATABASE在2016实例上对用户数据库执行操作,以带入整个数据库,包括所有数据,索引和其他对象。

至少在一开始,这将需要数据库在2005实例上消耗的空间量相同。但是,一旦还原了数据库,就可以利用数据压缩来大大减少所需的占用空间。

有关执行备份的详细信息,请参阅关于SQL Server备份;有关还原的详细信息,请参阅关于还原方案


2

是2012年还是2016年?有所不同的是,IIRC 2012是经过测试的迁移路径,而2016不是。因此,已知问题已记录在案,并且/或者将被2012升级顾问捕获。未测试的路径可能仍然可以正常工作而没有任何问题,这只是未知的。就是说,强烈建议您参加2016年。我怀疑所做的努力几乎是相同的。

请参阅是否要从SQL Server 2005升级?在2005年升级选项的文档中,以及指向非常详细的升级过程的链接。升级过程是针对2014年编写的,但仍适用于2016年。


1
是2016年。抱​​歉
罗伯特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.