0

我的团队需要更新在 SQL Server 2008 服务器上运行的自动化内容流程,以包含第三方供应商提供的 SQL Server 2008 R2 数据库的内容。请求第三方在 SQL Server 2008 上为我们提供服务不是一种选择。

我的常识表明,在我知道的大多数软件产品中,没有办法从 2k8 R2 降级到 2k8。但是,我想知道是否可以在脚本中执行以下操作:

  • 将 SQL Server 2008 R2 文件还原.bak到我们的 SQL Server 2008 R2 实例
  • 将兼容性级别更新为 SQL Server 2008 (100)。这是我计划中的错误:我没有在互联网上发现 2008 版本之间的任何兼容性级别差异。对此有任何线索吗?
  • 备份数据库。
  • 在 SQL Server 2008 中恢复数据库

您可能还想与我分享其他一些想法。

回想一下,不应手动干预此数据库转换,因为此操作需要合并到自动化过程中。

欢迎任何帮助/建议/评论!

4

3 回答 3

2

不,无论兼容性级别如何,您都无法向后还原数据库。兼容性级别会影响某些数据库引擎的行为,但不会降级数据库版本。您将永远无法将曾经存在于 2008 R2 实例中的数据库恢复到 2008。

对于解决方法,您可以:

  • 恢复 R2 上的数据库,然后使用导入/导出数据向导(或第三方工具)将模式/数据传输到 2008 实例(您应该能够在某种程度上自动执行此操作,例如 Red-Gate 的工具有命令线接口)
  • 将您的 2008 服务器升级到 2008 R2 或 2012
  • 回击供应商
于 2013-01-24T14:25:12.513 回答
1

根据设计,您只能将数据库备份还原到相同或更新版本的 SQL Server。使用 SQL Server 2008 R2 创建的备份只能使用 SQL Server 2008 R2 或 SQL Server 2012 恢复。这与数据库的兼容性级别无关。这是备份和还原过程的限制。自 SQL Server 2000 之前(即,我曾经使用过的每个版本)以来,这一直是一个限制。

于 2013-01-24T14:29:09.880 回答
0

也许您可以编写新数据库的创建脚本,而不是备份和恢复您基本上只是使用脚本进行数据转储。

试试看这个如何获得 SQL Server 2008 数据库的 SQL 转储?

于 2013-01-24T14:33:50.843 回答