【发布时间】:2018-08-09 00:27:45
【问题描述】:
我对这种情况有点坚持。我的开发虚拟机上有 SQL Server 2014,我一直在研究 SQL Server 2008 数据库。 2008 数据库被列为“2008 兼容”。我现在需要将它放在具有旧版 SQL Server (2012) 的演示服务器上,我发现 2008 兼容的数据库不会创建 2008 兼容的备份(我认为这是给定的)。
我实际上是在尝试从 SQL 2014 备份并恢复到 SQL Server 2012。如何从我的 2008 兼容数据库中获取与 SQL Server 2008 或 SQL Server 2012 兼容的备份文件?
谢谢。
【问题讨论】:
-
简单。你没有。数据库备份向后兼容但不向前兼容。这意味着您可以从旧版本恢复备份。旧版本无法从新版本恢复数据库。并且仅仅更改兼容模式不会使备份突然在旧版本中工作。您必须编写 ddl 和数据脚本。
-
如果您想从较新版本 (2014) 的 SQL Server 回到较旧版本(2008 或 2012),没有办法,没有破解,没有工具,没有技巧,没有黑色巫术魔法可以使用备份/恢复或分离/附加来做到这一点。这只会永远工作 - 期间。如果您需要“返回”,唯一的选择是从您的 2014 机器生成更改脚本,并在较旧的实例上运行这些脚本。
-
还要注意功能在这里也很重要。即,如果您备份企业版,则需要恢复到企业版才能使这些企业功能正常工作。
-
您可能正在谈论的数据库兼容级别(“2008 兼容数据库”)仅用于确保 T-SQL 功能和行为与兼容版本匹配 -此兼容性级别与
.mdf或.bak文件的内部结构无关 - 摆弄兼容级别不会帮助您“返回”到旧版本的 SQL Server
标签: sql-server