-- 步骤1, 在sql 2000中生成备份文件CREATE DATABASE [jack_test] ON PRIMARY ( NAME = N'jack_test', FILENAME = N'C:\jack_test.mdf' ) LOG ON ( NAME = N'jack_test_log', FILENAME = N'C:\jack_test_log.ldf') GOBACKUP DATABASE [jack_test] TO DISK = 'C:\jack_test.bak' WITH FORMAT GODROP DATABASE [jack_test] GO
-- 步骤2, 在2005中恢复, 然后生成2005的备份RESTORE DATABASE [jack_test] FROM DISK = 'C:\jack_test.bak' GOBACKUP DATABASE [jack_test] TO DISK = 'C:\jack_test.bak' WITH FORMAT GODROP DATABASE [jack_test]
-- 步骤3. 在2000中恢复2005的备份RESTORE DATABASE [jack_test] FROM DISK = 'C:\jack_test.bak' GO -- 结果得到错误提示: Msg 3205, Level 16, State 2, Line 1 Too many backup devices specified for backup or restore; only 64 are allowed. Msg 3013, Level 16, State 1, Line 1 RESTORE DATABASE is terminating abnormally.
上述测试在同一台电脑的两个实例中进行, 一个是2000实例, 一个是2005实例. 测试均在 SQL Server Manger Studio 中执行语句.在所有的测试步骤中, 我并未对数据库做任何处理, 所以不存在对象不兼容的问题.
SQLServer2005数据库还原到SQLServer2000http://dev.csdn.net/author/taito/840c28a03ec0432492db18a329125bb5.html新技术前沿版主 athossmth 说可以,楼主可以试下:用sql 2005 client side连接sql 2000 server,然后restore,这样,sql 2005的客户端可以认识sql 2005的备份格式,restore成功。http://community.csdn.net/Expert/topic/4969/4969701.xml?temp=.9756891
2005转到2000的步骤步骤
1. 生成for 2000版本的数据库脚本
2005 的manger studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例
-- 右键要转到2000的库
-- 任务
-- 生成脚本
-- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2000的库
-- 勾选"为所选数据库中的所有对象编写脚本"
-- 在接下来的"选择脚本选项"中, 找到"为服务器版本编写脚本"项, 选择"SQL Server 2000"
-- 其他选项根据需要设置
-- 最后把脚本保存到一个 .sql 脚本文件2. 在2000中创建目标数据库
在查询分析器(或2005的manger studio在打开脚本文件), 连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库3. 将数据从2005导到2000
2005 的manger studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例
-- 右键要转到2000的库
-- 任务
-- 导出数据
-- 在"SQL Server 导入和导出向导"的"选择数据源"步骤中, 确定选择的是要导出的数据库
-- 在"选择目标"步骤中, 连接到 2000, 并选择步骤2新建的库
-- 在"选择源表和源视图"中, 选择所有的表
-- 最后完成
这种方法应该不行吧? sql是服务型数据库, 所有的处理都是由sql服务提供的(不然为什么恢复的时候, 访问备份文件是基于服务器的?), 所以按道理不存在2005的客户端连接2000可以认识2005备份格式的问题.
环境:
win2003+sp1
sql 2000 + sp3
sql 2005 + sp1
ON PRIMARY (
NAME = N'jack_test',
FILENAME = N'C:\jack_test.mdf' )
LOG ON (
NAME = N'jack_test_log',
FILENAME = N'C:\jack_test_log.ldf')
GOBACKUP DATABASE [jack_test]
TO DISK = 'C:\jack_test.bak'
WITH FORMAT
GODROP DATABASE [jack_test]
GO
FROM DISK = 'C:\jack_test.bak'
GOBACKUP DATABASE [jack_test]
TO DISK = 'C:\jack_test.bak'
WITH FORMAT
GODROP DATABASE [jack_test]
FROM DISK = 'C:\jack_test.bak'
GO
-- 结果得到错误提示:
Msg 3205, Level 16, State 2, Line 1
Too many backup devices specified for backup or restore; only 64 are allowed.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
测试均在 SQL Server Manger Studio 中执行语句.在所有的测试步骤中, 我并未对数据库做任何处理, 所以不存在对象不兼容的问题.