请教大家,有关sqlserver2000数据库移植到sql server 2012的问题

时间:2022-07-04 21:46:27
请教各位, 单位有一sqlserver2000数据库32位(3个实例,总大小近50G),现想移植到新机器的sql server 2012 64位上,
请问怎么移植最好?
有建议先分离在附加的,有建议先备份再恢复的.
要求原有用户和存储过程等都要一并移植过来

16 个解决方案

#1


两种方式都可以的 。

#2


引用 1 楼 fredrickhu 的回复:
两种方式都可以的 。


谢谢,32位跨64位应该没问题吧

#3


引用 2 楼 u011823906 的回复:
Quote: 引用 1 楼 fredrickhu 的回复:

两种方式都可以的 。


谢谢,32位跨64位应该没问题吧

没问题。

#4


引用 楼主 u011823906 的回复:
请教各位, 单位有一sqlserver2000数据库32位(3个实例,总大小近50G),现想移植到新机器的sql server 2012 64位上,
请问怎么移植最好?
有建议先分离在附加的,有建议先备份再恢复的.
要求原有用户和存储过程等都要一并移植过来


两种方法都可以迁移。 就两点提醒, 1 、备份     2、测试    都是以防万一的,你懂得

#5


本帖最后由 DBA_Huangzj 于 2014-04-03 13:02:08 编辑
备份是最安全的方式,另外2000无法直接还原到2012,要借用中间的一些2005或者2008等实例来实现

#6


估计是纯SQL SERVER DB服务,用SQL 2008中转一次是必须的
对于数据库,建议还是找个熟悉DB的人跟进为好
备份、复制、恢复,或分离、复制、再附加,都OK,反正要中转一次

#7


可能會有一些sqlserver2012無法兼容的語法要修正比如: *=

#8


既然上2012了
操作系统和SQLServer都用64吧

#9


各位版主, sql server 2000里的master 和msdb 这两个库 导不进 sql server 2008 R2里,
我在2008R2里用单用户模式启动服务,还原2000的master库时报错:
System.Data,SqlClient.SqlError:备份集中的数据库备份与现有的'master'数据库不同

#10


引用 3 楼 fredrickhu 的回复:
Quote: 引用 2 楼 u011823906 的回复:

Quote: 引用 1 楼 fredrickhu 的回复:

两种方式都可以的 。


谢谢,32位跨64位应该没问题吧

没问题。


老大,master 和msdb 这两个库还原不进 sql server 2008 R2里,其它库没问题.

#11


引用 5 楼 DBA_Huangzj 的回复:
备份是最安全的方式,另外2000无法直接还原到2012,要借用中间的一些2005或者2008等实例来实现


master 和msdb 这两个库还原不进 sql server 2008 R2里,报错:备份集中的数据库备份与现有的'master'数据库不同 

#12


这两个库跨度也很大,如果你要用的话,可能把实例升级上去会比较保险

#13


引用 12 楼 DBA_Huangzj 的回复:
这两个库跨度也很大,如果你要用的话,可能把实例升级上去会比较保险


我是这样计划的:
1,首先把sql server 2000上的非系统库(除master、model、msdb、tempdb外的其他库)在2000的企业管理器上备份成.BAK文件;
2,在sql server 2008上还原这些.BAK
3,在sql server 2000上把master、model、msdb库中用户自建的对象单独导出或变成脚本形式,再导入进sql server 2008中

这样是不是能解决问题?!

#15


登录名方面的问题,可以用这个方法: http://technet.microsoft.com/zh-cn/library/ms137870.aspx

#16


系统库需要还原吗?因为2012不能支持2000,所以2000必须先在2008或2005上中转一次,推荐使用2008R2

#1


两种方式都可以的 。

#2


引用 1 楼 fredrickhu 的回复:
两种方式都可以的 。


谢谢,32位跨64位应该没问题吧

#3


引用 2 楼 u011823906 的回复:
Quote: 引用 1 楼 fredrickhu 的回复:

两种方式都可以的 。


谢谢,32位跨64位应该没问题吧

没问题。

#4


引用 楼主 u011823906 的回复:
请教各位, 单位有一sqlserver2000数据库32位(3个实例,总大小近50G),现想移植到新机器的sql server 2012 64位上,
请问怎么移植最好?
有建议先分离在附加的,有建议先备份再恢复的.
要求原有用户和存储过程等都要一并移植过来


两种方法都可以迁移。 就两点提醒, 1 、备份     2、测试    都是以防万一的,你懂得

#5


本帖最后由 DBA_Huangzj 于 2014-04-03 13:02:08 编辑
备份是最安全的方式,另外2000无法直接还原到2012,要借用中间的一些2005或者2008等实例来实现

#6


估计是纯SQL SERVER DB服务,用SQL 2008中转一次是必须的
对于数据库,建议还是找个熟悉DB的人跟进为好
备份、复制、恢复,或分离、复制、再附加,都OK,反正要中转一次

#7


可能會有一些sqlserver2012無法兼容的語法要修正比如: *=

#8


既然上2012了
操作系统和SQLServer都用64吧

#9


各位版主, sql server 2000里的master 和msdb 这两个库 导不进 sql server 2008 R2里,
我在2008R2里用单用户模式启动服务,还原2000的master库时报错:
System.Data,SqlClient.SqlError:备份集中的数据库备份与现有的'master'数据库不同

#10


引用 3 楼 fredrickhu 的回复:
Quote: 引用 2 楼 u011823906 的回复:

Quote: 引用 1 楼 fredrickhu 的回复:

两种方式都可以的 。


谢谢,32位跨64位应该没问题吧

没问题。


老大,master 和msdb 这两个库还原不进 sql server 2008 R2里,其它库没问题.

#11


引用 5 楼 DBA_Huangzj 的回复:
备份是最安全的方式,另外2000无法直接还原到2012,要借用中间的一些2005或者2008等实例来实现


master 和msdb 这两个库还原不进 sql server 2008 R2里,报错:备份集中的数据库备份与现有的'master'数据库不同 

#12


这两个库跨度也很大,如果你要用的话,可能把实例升级上去会比较保险

#13


引用 12 楼 DBA_Huangzj 的回复:
这两个库跨度也很大,如果你要用的话,可能把实例升级上去会比较保险


我是这样计划的:
1,首先把sql server 2000上的非系统库(除master、model、msdb、tempdb外的其他库)在2000的企业管理器上备份成.BAK文件;
2,在sql server 2008上还原这些.BAK
3,在sql server 2000上把master、model、msdb库中用户自建的对象单独导出或变成脚本形式,再导入进sql server 2008中

这样是不是能解决问题?!

#14


#15


登录名方面的问题,可以用这个方法: http://technet.microsoft.com/zh-cn/library/ms137870.aspx

#16


系统库需要还原吗?因为2012不能支持2000,所以2000必须先在2008或2005上中转一次,推荐使用2008R2