从 SQL Server 7.0 或更早版本复制数据库

安装 SQL Server 2008 后,所有现有的数据库都会自动升级。若要复制升级的数据库,您可以使用 SQL Server 2008 数据库支持的任何一种复制方法。有关详细信息,请参阅将数据库复制到其他服务器

注意注意

有关在 SQL Server 2008 上使用 SQL Server 7.0、SQL Server 2000 或 SQL Server 2005 数据库的信息,请参阅 ALTER DATABASE 兼容级别 (Transact-SQL)

SQL Server 7.0 数据库

您可以使用下列方法之一将 SQL Server 7.0 版数据库转换为 SQL Server 2008:

  • 通过将数据库附加到正在运行的实例,将 SQL Server 7.0 数据库升级到 SQL Server 2000 或 SQL Server 2005。然后,您可以将该数据库升级到 SQL Server 2008。通常,这是首选方法。

    有关使用附加升级 SQL Server 2000 或 SQL Server 2005 数据库的信息,请参阅如何使用分离和附加来升级数据库 (Transact-SQL)

  • 使用 SQL Server 导入和导出向导在 SQL Server 的多个实例之间复制数据。此向导将会处理具有访问接口的所有源和目标,不过可能会发生数据转换问题,这取决于数据源。有关详细信息,请参阅使用 SQL Server 导入和导出向导导入和导出数据

  • 请按照如下说明从 SQL Server 7.0 中创建的数据库中迁移数据:

    1. 使用 bcp 的 7.0 版,通过使用 bcpout 命令将数据导出到数据文件。

    2. 使用 bcp 的 SQL Server 2008(10.0 版)中的 bcp.exe 的版本,通过使用 bcpin 命令从数据文件中导入数据。如果数据文件包含本机数据格式,请指定 -V70–n 选项,这将告知 bcp in 操作使用 SQL Server 7.0 本机数据类型。

    有关详细信息,请参阅导入来自早期版本的 SQL Server 的本机格式数据和字符格式数据

SQL Server 6.0 或 SQL Server 6.5 数据库

若要从 SQL Server 6.0 版或 SQL Server 6.5 版数据库迁移数据,请使用该版本 SQL Server 中的 bcp 实用工具以字符模式 (bcpout) 将数据导出到数据文件。然后,您可以将字符数据导入到 SQL Server 2008 数据库。不过,SQL Server 2008 不支持 SQL Server 6.0 和 SQL Server 6.5 本机数据格式。这意味着 SQL Server 2008 中 bcp.exe 的版本不支持 -6 命令行选项,或 –V 命令行选项的 6065 选项。

注意注意

使用 SQL Server 6.5 或早期版本创建的数据库备份采用的格式不兼容,无法在 SQL Server 2005 和更高版本中还原。

升级后的数据库兼容级别

升级后,tempdbmodelmsdbResource 数据库的兼容级别将设置为 100。master 系统数据库保留它在升级之前的兼容级别,除非该级别小于 80。如果 master 的兼容级别在升级前小于 80,升级后兼容级别将设置为 80。

如果升级前用户数据库的兼容级别为 80 或 90,升级后将保持相应级别。如果升级前兼容级别为 70 或更低,则在升级后的数据库中,兼容级别将设置为 80,该级别为 SQL Server 2008 支持的最低兼容级别。

注意注意

新的用户数据库将继承 model 数据库的兼容级别。