谁能建议将数据库从 SQL Server 2008 迁移到 2005 的最佳方法?

Posted

技术标签:

【中文标题】谁能建议将数据库从 SQL Server 2008 迁移到 2005 的最佳方法?【英文标题】:Can anyone suggest the best way to move a database from SQL Server 2008 to 2005? 【发布时间】:2015-12-28 16:22:44 【问题描述】:

我在 SQL Server 2008 中有一个大小约为 100GB 的数据库。我想在 SQL Server 2005 中运行这个数据库。谁能建议将该数据库从 SQL Server 2008 迁移到 2005 的最佳方法?

我已经使用生成脚本向导生成了一个脚本。脚本文件大小约为 25 GB。所以我使用以下命令从命令提示符运行脚本:

Sqlcmd -U sa -P **** -S 192.168.10.001\SQL2005 
       -i D:\dbRestore\Script.sql -a 32767 
       -o D:\dbRestore\ScriptError.txt

我收到以下错误:

字符串后的非右引号

当 IDENTITY_INSERT 设置为 OFF 时,无法为表 'xxx' 中的标识列插入显式值

无效的对象名称'data_set'

列名“benefit_contract_id”无效

无法为局部变量分配默认值。

必须声明标量变量

当表没有 text、ntext、image、varchar(max)、nvarchar(max)、varbinary(max)、xml 或大型用户定义类型列时,不能使用 TEXTIMAGE_ON。

此数据库中不存在用户或角色“tuser01”。 未找到 Windows NT 用户或组 'xxx\SQL_QA'。再次检查名称

谁能帮我解决这些问题?

【问题讨论】:

为什么?您可以设置兼容级别以模拟 SQL Server 2005。 【参考方案1】:

将数据库兼容级别设置为 Sql Server 2005 (90)

ALTER DATABASE <your database_name>
SET COMPATIBILITY_LEVEL = 90

【讨论】:

我尝试将兼容级别更改为 90。但它显示错误“数据库兼容级别的有效值是 100、110 或 120”。我的数据库当前的兼容级别是 120 您使用什么版本的 SQL Server?查看这篇文章 (msdn.microsoft.com/ru-ru/library/bb510680(v=sql.120).aspx),它包含各种 SQL Server 版本的向后兼容性表。 这篇文章 (blogs.msdn.com/b/arvindsh/archive/2015/02/04/…) 还包含有关兼容性级别的有用信息。

以上是关于谁能建议将数据库从 SQL Server 2008 迁移到 2005 的最佳方法?的主要内容,如果未能解决你的问题,请参考以下文章

将索引从 SQL Server 2008 迁移到 SQL Azure

将 SQL Server 2008 r2 降级到 SQL Server 2008

新手试图从 excel 将数据插入 SQL Server 2008

将 SQL Server 2008 降级到 SQL Server 2005

SQL Server 2008 R2升级到SQL Server 2012 SP1

排除 MS SQL Server 2008 中的“某些”重复行