尝试将备份还原到SQL Server Express 2008数据库时,出现以下错误:
Restore failed for Server '...\SQLEXPRESS'. (Microsoft.SqlServer.SmoExtended)
System.Data.SqlClient.SqlError: The database was backed up on a server running version
10.50.1600.
That version is incompatible with this server, which is running version 10.00.2531.
Either restore the database on a server that supports the backup, or use a backup
that is compatible with this server. (Microsoft.SqlServer.Smo)
有没有办法从 SQL Server Express 的较新(在我的情况下为 10.50.1600)版本中获取与旧版本(在我的情况下为 10.00.2531)兼容的备份?
您必须使用 SSMS 中的导入/导出向导来迁移所有内容
使用备份/恢复或分离/附加不可能“降级”
您可以使用导入/导出向导在数据库之间移动数据。
右键单击要导出的数据库,选择“任务”,然后选择“导出数据”。该向导将引导您完成整个过程。
不过,你是对的。您将无法从 SQL Server 2008 R2迁移到 SQL Server 2008 Express 进行备份/恢复。
SQL Server 备份不支持向后兼容
在旧版本上获取数据库的步骤 -
对于模式: 右键单击您的数据库 --> 任务 --> 生成脚本 --> 下一步 --> 下一步 --> 单击高级按钮 --> 将选项“数据类型到脚本”更改为“模式”- ->好的-->下一个-->下一个
对于数据: 右键单击您的数据库 --> 任务 --> 生成脚本 --> 下一步 --> 下一步 --> 单击高级按钮 --> 将选项“数据类型到脚本”更改为“数据”- ->好的-->下一个-->下一个
唯一的办法是在 10.00.2531 版本上新建一个数据库,从 10.50.1600 导入数据。
您无法还原到旧版本。
右键单击您的数据库 --> 任务 --> 生成脚本 --> 下一步 --> 下一步 --> 单击高级按钮 --> 将选项“数据类型到脚本”更改为“模式和数据” -- >ok -->next -->next 所以现在你有了一个创建数据库及其表并在其中填充数据的脚本 :) ;)