我们公司准备下周搬家,我们目前在我们自己的建筑物中托管所有数据库使用SQL Server 2000。他们决定将数据移动到本地公司有几个原因,但他们正在运行SQL Server 2008.
我想就一些事情提出建议:
我们正在尝试为我们的一些数据库设置一个测试,以查看我们的应用程序(连接字符串等)的中断。什么是从我们的SQL Server 2000框到新框的数据库,而不会丢失数据或不得不重新创建表等的最佳方法。我尝试了数据库复制向导,但我们网络中的限制不允许它。如果我在SQL Server 2008上创建数据库并从SQL Server 2000 .bak文件执行RESTORE
,我将丢失所有事务,对吗?如果我稍后更换交易文件怎么办?我认为这不起作用。
如何将SQL Server 2000数据库正确升级到SQL Server 2008?我已经针对我们的大多数数据库运行了向导,除了我可以解决的一些小问题外,它还是干净的。
我们的SQL Server 2000是我们的生产服务器,所以它不能随时复制文件....直到移动。我们的客户已经收到通知,某些日期之间会有一个短暂的中断时间,所以没关系,但我想我说的是我现在无法停止SQL Server代理只是为了复制日志文件等用于测试目的
非常感谢任何帮助/建议!
答案 0 :(得分:1)
创建SQL Server 2000的数据库备份并将其还原到SQL Server 2008.
设置复制使SQL Server 2000成为发布者,SQL Server 2008成为订阅者。
答案 1 :(得分:0)
不确定哪种方法最好。我认为数据库备份和恢复是个好主意。不过,你会在平均时间内丢失一些数据。
如果您要在2005或2008的两个版本之间进行迁移,我会建议日志备份以减少数据丢失,但我不认为此选项在2000年可用
我可以给你的一条建议是在这些链接上查看2000年和2005年以及2005年和2008年停产的功能:
答案 2 :(得分:0)
刚刚备份2000,然后恢复它。您不会丢失交易,也不会在当前服务器上进行完整备份。
您需要添加任何SQl登录并设置权限等。 您还需要为他们修复用户。 如果您只使用集成访问,那么您不需要。
e.g。
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安装向导进行就地升级。这种事情往往会让我的括约肌心悸。