如何导出sql2005的数据库才能够导入到Sql2000|sqlserver数据库迁移

3/25/2008来源:SQL技巧人气:24900

如何导出sql2005的数据库才能够导入到Sql2000|sqlserver数据库迁移.请问如何把sql2005的数据库导出后,能够导入到sql2000?这个过程应该如何做?

回答:我这儿有个办法,你看看是否可行。
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新建的库
-- 在"选择源表和源视图"中, 选择所有的表
-- 最后完成
---gnaw0725

根据您的描述,我对这个问题的理解是:您希望得知如何将SQL Server 2005导出后的数据库导入到SQL Server 2000中。由于SQL Server 2005和2000拥有着不同的设计架构,SQL 2000实例是无法识别2005的数据库对象,因此我很遗憾:将2005的数据库移植到2000的SQL实例中是不支持的(在attach的时候我们会收到相应的错误消息)。我们只能正向的将2000的数据库迁移到2005之上。

如果您业务需要该功能,我们可以通过以下方法来复制SQL Server 2005中的表或视图来作为替代的办法:

1. 使用SQL Server 导入导出向导来复制数据库中的表和视图,存储过程等。
2. 在SQL Server 2005实例和2000实例之间建立一个Snapshot Replication,让2005的数据库复制到2000 SQL Server 实例上。

的确,gnaw0725的方法也是可行的,我们可以通过生成的脚本来实现在SQL Server 2000实例上创建相同的数据库,然后通过导入导出向导来将一些2005的数据库对象导入到数据库中。

以下需要是需要注意的几点:

1. 在生成脚本之前,我们需要将数据库的兼容级别设置成"SQL Server 2000 (80)"。该设置可以在数据库属性->Option->Compatibility level中设置。

2. 由于SQL Server 2005包很了很多SQL Server 2000不同的new feature 比如"Service Broker",我们在2000的数据库实例上运行脚本时可能会收到一些语句(比如ALTER DATABASE [TEST] Set Disable_Broker)返回的错误消息。但这些错误并不影响数据库的创建,您可以ignore这些错误。