如何将TFS SQL Server 2014数据库迁移到2012?

3

我们正在使用TFS 2013和SQL Server 2014。我们的客户请求TFS项目,他们也使用TFS 2013,但是SQL Server版本为2012。我们如何进行迁移?在从2014降级到2012时,简单的备份和还原是否有效?


您唯一的选择是让客户升级他们的SQL Server版本。 - MrHinsh - Martin Hinshelwood
2个回答

0

不能这样做 - 你不能从一个更新的版本(如2014)的SQL Server附加/分离或备份/还原数据库到一个旧版本(SQL Server 2012) - 内部文件结构太不同以至于不支持向后兼容性。

不行 - 在SQL Server 2014中将兼容级别设置为110(适用于SQL Server 2012)也没有帮助; 它将防止您的T-SQL代码使用新的SQL Server 2014 T-SQL功能,但它不会以任何方式改变数据库文件的内部结构。

您可以通过以下方式解决此问题:

  • 在所有机器上使用相同版本的SQL Server - 然后您可以轻松备份/还原不同实例之间的数据库。

  • 否则,您可以在SQL Server Management Studio(任务 > 生成脚本)中为结构(表、视图、存储过程等)和内容(表中实际数据)创建数据库脚本,或者使用第三方工具。

  • 或者,您可以使用 Red-Gate 的 SQL CompareSQL Data Compare 这样的第三方工具,在源和目标之间执行 "diffing",从这些差异中生成更新脚本,然后在目标平台上执行这些脚本;这适用于不同的 SQL Server 版本。

@MrHinsh 更新:

警告:虽然这些选项可能适用于您自己的数据库项目,但它们不适用于 TFS。更改数据库架构、移动数据或编辑表格将会破坏 TFS,并使您与 MSFT 的支持协议失效。


-1

备份/恢复在这里不是可行的方法 - 没有任何版本的SQL Server知道下一个版本中数据库文件格式发生了什么变化。

因此,将数据库架构和数据从2014年复制到2012年,并祈祷它能够正常工作 - 可能性很小。在SSMS中应该有一个导入/导出向导,至少以前有。


这对商业产品来说不是一个可行的选择。 - MrHinsh - Martin Hinshelwood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接