sql server2008r2 迁移到sql2014

xiaodai511 2018-07-18 10:39:50
第一次做实际项目的数据库迁移,看了许多文章 大概有两种方法
1分离--附加 2备份--还原

我的库大概200G 看网上推荐大于50g的最好使用分离--附加 这里有个问题 为啥 有的帖子说 在目标服务器附加时候 要变一个库名呢 比如附加A时候要变成A_BAK,然后再在建立一个名为A的空库,然后再把数据移到A中。。。。不太明白为什么不能直接附加使用呢???(跟登陆名有关? 可是登陆名也可以批量迁移啊)
这种方法 还有什么需要注意的地方吗???

...全文
855 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaodai511 2018-07-26
  • 打赏
  • 举报
回复
引用 17 楼 wjhcjg 的回复:
数据库高版本是能兼容低版本附件,用附加最省事。不要新建库,直接把旧数据库停止服务后,把数据和日志文件拷到新的服务器上执行附件即可,这种是最稳又最有效的办法。但拷贝文件时费的时间会很长,如果用户业务无法忍受这么长时间中断,那就只能用全备+差异备份方式去还原,这样可以把业务中断时间缩到最短。

了解了 非常感谢
~
wjhcjg 2018-07-23
  • 打赏
  • 举报
回复
数据库高版本是能兼容低版本附件,用附加最省事。不要新建库,直接把旧数据库停止服务后,把数据和日志文件拷到新的服务器上执行附件即可,这种是最稳又最有效的办法。但拷贝文件时费的时间会很长,如果用户业务无法忍受这么长时间中断,那就只能用全备+差异备份方式去还原,这样可以把业务中断时间缩到最短。
  • 打赏
  • 举报
回复
引用 13 楼 xiaodai511的回复:
[quote=引用 11 楼 baidu_36457652 的回复:]
可以停机的话 分离附加挺好,也快

我也这么想的 只是没做过跨版本附加 所以来咨询下 楼上有版主说 没问题的[/quote] 我试过 100g左右的 08 r2到14没问题
xiaodai511 2018-07-19
  • 打赏
  • 举报
回复
引用 11 楼 baidu_36457652 的回复:
可以停机的话 分离附加挺好,也快

我也这么想的 只是没做过跨版本附加 所以来咨询下 楼上有版主说 没问题的
xiaodai511 2018-07-19
  • 打赏
  • 举报
回复
引用 10 楼 zjcxc 的回复:
直接升级的优点是不用考虑太多的因素,升级之后帐号、权限、Job 之类的都不需要特别处理,缺点是升级过程中有问题无法直接回滚

非直接他显然方案优缺点与直接升级方案相反

另外,升级之后建议对所有的索引做 REBUILD 操作

分离/COPY 文件/附加在操作上步骤多一些,有小风险在日志回滚上(当然你是先精力停机操作这个几乎可以不考虑)

非常感谢~~打了那么多字~~是在不同的服务器上做迁移升级,到时应该会停机操作的。作为一个新手 可能会觉得分离附加方便点(但没有跨版本附加过,所以来咨询。。。),备份还原也会也操作过,只是不知道怎么操作才能保证把停机前完整的的备份过去。。。完整+日志?那我再备份日志的过程(这个过程中又不能停机)中又有数据变更呢?
xiaodai511 2018-07-19
  • 打赏
  • 举报
回复
引用 15 楼 zjcxc 的回复:
完备+日志备份,是为了减少停机时间而已,如果不 care 这个停机时间,那只用全备就行,至于业务变化,业务都停机了,备份时不应该有数据变化才对
当然,业务都停机了,如果你觉得分享附加列方便,那民没问题的,也那样也不用分离了,直接把 sql server 服务停掉,把文件 COPY 到新机器附加就行

对哈 我光想着怎么从数据库上断掉连接从而还能进行备份,业务都停了 我可以把erp端的连接断了 这样就可以防止个别用户还在使用了。。。我还是太嫩了
zjcxc 2018-07-19
  • 打赏
  • 举报
回复
完备+日志备份,是为了减少停机时间而已,如果不 care 这个停机时间,那只用全备就行,至于业务变化,业务都停机了,备份时不应该有数据变化才对
当然,业务都停机了,如果你觉得分享附加列方便,那民没问题的,也那样也不用分离了,直接把 sql server 服务停掉,把文件 COPY 到新机器附加就行
卖水果的net 2018-07-18
  • 打赏
  • 举报
回复
2008r2 迁移到sql2014,这是跨了两个版本。

直接附加需要停机,估计拷文件的时间,也不会太短,看看在业务上能接受的时间是多少吧。

备份恢复,也是需要目标服务器上的存储空间,要更大一些,一要存放备份文件,二存在数据和日志文件。

最好实际先演练一下,比较一下两个方案的复杂度和用时。
吉普赛的歌 2018-07-18
  • 打赏
  • 举报
回复
引用 3 楼 xiaodai511 的回复:
[quote=引用 1 楼 yenange 的回复:]
不需要变什么库名。
可以直接附加。
但推荐你还是通过还原的方式。

这种分离--附加 相较于备份还原来说有什么 隐患么?备份还原 貌似也需要再目标库先建立一个 结构相同的库 才能还原[/quote]
没什么隐患, 只是成功率高一点, 用熟悉了更方便一些。
还原不需要建立结构相同的库名, 可以直接还原。
2014可以直接附加2008的库。

你喜欢怎么弄就怎么弄吧, 看你擅长的就好了。
xiaodai511 2018-07-18
  • 打赏
  • 举报
回复
引用 2 楼 foren_whb 的回复:
数据库版本不同,直接附加应该是附加不上去的

备份还原时间虽然长点,但能保证数据安全才是最重要的

哦哦 原来楼上版主 说的 是这个原因~~谢谢啦
xiaodai511 2018-07-18
  • 打赏
  • 举报
回复
引用 1 楼 yenange 的回复:
不需要变什么库名。
可以直接附加。
但推荐你还是通过还原的方式。

这种分离--附加 相较于备份还原来说有什么 隐患么?备份还原 貌似也需要再目标库先建立一个 结构相同的库 才能还原
丰云 2018-07-18
  • 打赏
  • 举报
回复
数据库版本不同,直接附加应该是附加不上去的

备份还原时间虽然长点,但能保证数据安全才是最重要的
吉普赛的歌 2018-07-18
  • 打赏
  • 举报
回复
不需要变什么库名。
可以直接附加。
但推荐你还是通过还原的方式。
  • 打赏
  • 举报
回复
可以停机的话 分离附加挺好,也快
zjcxc 2018-07-18
  • 打赏
  • 举报
回复
直接升级的优点是不用考虑太多的因素,升级之后帐号、权限、Job 之类的都不需要特别处理,缺点是升级过程中有问题无法直接回滚

非直接他显然方案优缺点与直接升级方案相反

另外,升级之后建议对所有的索引做 REBUILD 操作

分离/COPY 文件/附加在操作上步骤多一些,有小风险在日志回滚上(当然你是先精力停机操作这个几乎可以不考虑)
zjcxc 2018-07-18
  • 打赏
  • 举报
回复
同一台上升级,还是在新服务器上升级?
如果是同一台,通常是离线方案,通常是考虑备份之后直接通过 sql server 安装程序升级

如果你是在同一台机器上,但是通过新装实例进行升级,那么和两台服务器的方案相同,可以考虑离线或在线方案
1. 离线方案,推荐备份+还原, 通过完全备份+日志备份,可以把停机时间控制到很小
2. 在线方案,直接在新旧两台机器之间建立数据库镜像,然后通过镜像切换做到 线升级(这要求两台机器之间的网络通畅)

xiaodai511 2018-07-18
  • 打赏
  • 举报
回复
引用 5 楼 yenange 的回复:
[quote=引用 3 楼 xiaodai511 的回复:]
[quote=引用 1 楼 yenange 的回复:]
不需要变什么库名。
可以直接附加。
但推荐你还是通过还原的方式。

这种分离--附加 相较于备份还原来说有什么 隐患么?备份还原 貌似也需要再目标库先建立一个 结构相同的库 才能还原[/quote]
没什么隐患, 只是成功率高一点, 用熟悉了更方便一些。
还原不需要建立结构相同的库名, 可以直接还原。
2014可以直接附加2008的库。

你喜欢怎么弄就怎么弄吧, 看你擅长的就好了。[/quote]
ok 了解了 谢谢
xiaodai511 2018-07-18
  • 打赏
  • 举报
回复
引用 6 楼 wmxcn2000 的回复:
2008r2 迁移到sql2014,这是跨了两个版本。

直接附加需要停机,估计拷文件的时间,也不会太短,看看在业务上能接受的时间是多少吧。

备份恢复,也是需要目标服务器上的存储空间,要更大一些,一要存放备份文件,二存在数据和日志文件。

最好实际先演练一下,比较一下两个方案的复杂度和用时。

非常感谢~~打算找一个夜黑风高得晚上搞~
SQLSERVER2008的系统数据库迁移 意义: 就是从C盘移动其他分区 从这个硬盘移动其他硬盘,数据库还能启动 为一般数据库的迁移做准备 系统数据库迁移主要迁移以下数据库 第一类:tempdb,model和msdb 第二类:master,mssqlsystemresource 具体的迁移步骤: 一、对于master数据库 默认SQL Server安装完成后,SQL Server的4个系统数据库(Master,Model,MSDB和TempDB)都会被自动安放在安装路径 下,也就是系统盘的Program Files文件夹下。所带来的问题就是绝大多数数据库服务器为了同时照顾到性能,成本和 高可用性这三个方面,都会将系统安装在一个Raid1阵列上,通常这个Raid1阵列还不一 定会用上15K的SAS,有的只是用10K的SAS,更有甚者,为了成本,装2个7.2K的SATA也就 完事了。再加上Raid1阵列本身就是一种读取性能非常强,但是写入性能相当差的阵列形 式,所以,对于系统数据库,尤其是对TempDB数据库来说,是非常不利的,也肯定会对 整个SQLServer的性能造成影响。所以将系统数据库迁移到性能更加高的阵列上,是一个 解决硬件性能瓶颈的基础解决方案。 下面就像大家介绍一下如何将系统数据库迁移到其他分区上(以Microsoft SQL Server 2008 R2为例): 1. 首先迁移master数据库,master数据库是整个SQL Server实例的核心,所有的设置都存放在master数据库里,如果master数据库出现问 题,整个实例都将瘫痪。首先打开SQL Server Configuration Manager,在左边的列表框中选中SQL Server Services节点,然后在右边的列表框中找到需要迁移系统数据库的实例的那个SQL Server服务,比如说SQLServer(MSSQLSERVER),停止这个实例的服务(不会停的去 菜场买块豆腐撞死算了),然后右键单击,选中最底下的"Properties",并且切换到 "Advanced"标签,如下图所示: 2. 看到"Startup Parameters"了吧,这里的参数就是需要我们更改的。如下图所示: 把这段字符整理一下就是这样: -dC:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf; -eC:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG; -lC:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf 基本上看出来了吧,"-d"后面的就是master数据库数据文件的位置,"-e"是该SQL Server实例的错误日志所在的位置,至于"- l"就是master数据库日志文件所在的位置了。修改数据文件和日志文件的路径到适当 为位置,错误日志的位置一般不需要做变更,例如将数据文件存放到D盘的SQLData文 件夹下,日志文件存放到E盘的SQLLog文件夹下,则参数如下: -dD:\SQLData\master.mdf;-eC:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;-lE:\SQLLog\mastlog.ldf 点击"OK"保存并关闭对话框。 3. 然后需要做的是将master数据库的数据文件和日志文件剪切到刚刚"Startup Parameters"定义的路径中,接着就可以启动该实例SQL Server服务了。 注意,此时可能仍然会有出现SQL Server服务无法启动的情况,确保刚刚配置准确无误,然后就是NTFS权限的事情了, 如果你不是用Local System来启动SQL Server服务,那么更改完存放路径后,你需要给新的盘符或文件夹相应的权限,这样 服务才能启动,建议直接给相应账号"Full Control"的权限,至于为什么嘛,那是经验,原因得要问Microsoft了。 好了,到这里,master数据库就算迁移完成了。 对于empdb,model和msdb 1、修改文件 路径 1、修改文件 路径 --Move tempdb ALTER DATABASE tempdb MODIFY FILE(NAME='tempdev',FILENAME='D:\Database\tempdb.mdf'); ALTER DATABASE tempdb

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧