SQL Server 2008 - 从SQL Server 2000移动数据

问题描述:

我们公司正在准备下周搬家,我们目前使用SQL Server 2000来处理我们所有的数据库,这些数据库位于我们自己的大楼内。他们已经决定将数据移动到本地公司有几个原因,但他们在运行SQL Server 2008SQL Server 2008 - 从SQL Server 2000移动数据

我想几件事情的意见:

  1. 我们正在努力建立对我们的一些数据库进行测试,以查看与我们的应用(连接字符串等)有什么分别。从SQL Server 2000框到新框的数据库没有丢失数据或重新创建表的最佳方法是什么?我尝试了数据库复制向导,但我们网络中的限制不允许它。如果我在SQL Server 2008上创建数据库并从SQL Server 2000 .bak文件执行RESTORE,那么我将丢失所有事务,对吗?如果我以后替换交易文件会怎样?我想这不会起作用。

  2. 如何正确升级SQL Server 2000数据库到SQL Server 2008?我已经针对大多数数据库运行了该向导,除了我可以解决的一些小问题之外,它已经变得干净利落。

我们的SQL Server 2000是我们的生产服务器,所以它不能在任何时候停止复制文件....直到移动。我们的客户已经收到通知,在某些日期之间会有短暂的停机时间,所以没关系,但我想我所说的是我现在无法停止SQL Server代理,只是为了测试目的复制日志文件等。

任何帮助/建议,非常感谢!

创建SQL Server 2000的数据库备份并恢复到SQL Server 2008的

设置复制使SQL Server 2000作为发布服务器和SQL Server 2008作为认购人。

+0

我认为这只是直到移动完成,我们不再在2000年,对吗? – Robert 2012-04-05 14:07:16

+0

@罗伯特:是... – acermate433s 2012-04-05 16:48:13

不知道哪个是最好的方法。我认为数据库备份和恢复将是一个好主意。不过,你同时会丢失一些数据。

如果你在2个版本2005或2008年之间迁移我会建议一个日志备份,以减少数据丢失,但我不认为这个选项在2000

一句忠告我可以给的你是要看看从2000年到2005年,并从2005年和2008年对这些链接的停止使用的功能:

只需备份2000年,然后恢复它。您不会失去交易,在您当前的服务器上进行完整备份毫无瑕疵。

您需要添加任何SQl登录并设置权限等。 您还需要为他们修复用户。 如果你只使用集成访问,那么你不需要。

例如

Use MyDataBase 
EXEC sp_change_users_login Auto_Fix, 'MyUser' 

你还需要设置兼容级别

Use 
exec sp_bcp_dbcmptlevel 'model' 
to get it 
and then 

EXEC sp_dbcmptlevel 'MyDatabase', ?? 

to set it. 

另一种选择,将是新的计算机上安装2000恢复从旧的一回,然后做一个就地升级通过2008安装向导。尽管如此,这种事情往往会给我括约肌的心悸。