我有一个处理SQL Server 2000的数据库。我们现在正在迁移到使用SQL Server 2008 r2的新服务器。谁能指点我一些资源或怎么样? 我并没有真正找到适合SQL 2000的方法。
谢谢!
答案 0 :(得分:12)
基本上,您需要做的是:
你已经完成了!真的没什么了.....只需备份(在旧系统上)并恢复(在新系统上)。
那你的问题究竟在哪里?
更新,因为@Péter正确提到:这使您的数据库处于SQL Server 2000兼容模式。这意味着:即使您已“迁移”到SQL Server 2008 R2,您仍然只能使用2000个功能。
要查看数据库所处的兼容模式,请查看sys.databases
目录视图:
SELECT * FROM sys.databases WHERE name = 'YourDatabaseName'
一列名为compatibility_level
,包含INT
; 80 = SQL Server 2000,90 = SQL Server 2005,100 = SQL Server 2008/2008 R2和110 = SQL Server 2012
要将数据库更改为其他兼容级别,请使用以下命令:
ALTER DATABASE YourDatabaseNameHere
SET COMPATIBILITY_LEVEL = 100;
这将使您的数据库进入“本机”SQL Server 2008(和2008 R2)模式,现在您的迁移已完成,您可以使用所有新的SQL Server 2008 R2功能。
答案 1 :(得分:3)
我首先针对2000服务器运行升级顾问(在低利用率或非工作时间),看看它提出了哪些建议并完全解决了每个问题:http://msdn.microsoft.com/en-us/library/ms144256.aspx
这里也是MS的一篇关于主题的白皮书:http://download.microsoft.com/download/2/0/B/20B90384-F3FE-4331-AA12-FD58E6AB66C2/SQL%20Server%202000%20to%202008%20Upgrade%20White%20Paper.docx
很多都可能出错...在论坛设置中覆盖太多。但是,再没有什么可能出错......最好的计划,测试,然后再测试一下。
答案 2 :(得分:1)
我目前正在做同样的事情。
从2000恢复bak创建SQL 2008数据库是一个很好的第一步。我的大多数工作是处理用户权限,并确保用户与数据库登录同步,并且我们没有由与该用户相关联的备份生成的数据库架构,如果该问题导致问题我们试图重新创建该数据库用户。
我们最终做的是:
1)创建一个脚本。我们有一个脚本可动态编写脚本来执行以下操作:drop login,drop db user,drop schema,recreate login,recreate user,grant user permissions。
2)恢复数据库。
4)运行生成的脚本
答案 3 :(得分:0)
2012年4月编辑,因为原始链接已更改为最新版本,SQL Server 2012
进行“原位”升级(MSDN链接):
您可以将SQL Server 2000,SQL Server 2005或SQL Server 2008的实例升级到SQL Server 2008 R2。
...到SQL Server 1012
您可以从SQL Server 2005,SQL Server 2008和SQL Server 2008 R2升级到SQL Server 2012.
答案 4 :(得分:0)
从技术角度来看,其他答案是正确的,但不是从支持的角度来看。
我认为Microsoft不支持从SQL Server 2000直接升级到SQL Server 2008 R2。这并不意味着它很难,只是它不受支持。 (对于您的场景,这可能有用也可能不重要)
您可以将SQL Server 2000实例升级到SQL Server 2008 R1,然后执行后续升级到SQL Server 2008 R2。 (如果你这么倾向,甚至是SQL Server 2012)
答案 5 :(得分:0)
另一种选择是尝试直接将sql2k的数据库(文件)连接到sql2k8。
答案 6 :(得分:0)
最简单的方法是将SQL 2000中的数据库备份到.bak文件并移动它。恢复,一切都应该没问题。运行sp_Users_Loging以识别孤立服务器中的用户。