我知道你不能(至少不容易)在SQL Server 2008上恢复SQL Server 2012备份.但是,从SQL Server 2014到SQL Server 2012,它是如何工作的呢?
在数据库级别,有一个属性可以将兼容模式调整为任何其他SQL Server版本.
这有什么帮助或作用?它会从2014年开始禁止这些功能吗?
老实说,我已经try 过恢复备份,但2012无法识别数据文件,因此我无法单击ok Button
开始恢复过程.
我错过了一些重要的 Select 吗?
我知道你不能(至少不容易)在SQL Server 2008上恢复SQL Server 2012备份.但是,从SQL Server 2014到SQL Server 2012,它是如何工作的呢?
在数据库级别,有一个属性可以将兼容模式调整为任何其他SQL Server版本.
这有什么帮助或作用?它会从2014年开始禁止这些功能吗?
老实说,我已经try 过恢复备份,但2012无法识别数据文件,因此我无法单击ok Button
开始恢复过程.
我错过了一些重要的 Select 吗?
您可以这样做—您无法从SQL Server newer version连接/分离或备份/恢复数据库到older version—内部文件 struct 差异太大,无法支持向后兼容.这在SQL Server 2014中仍然是正确的——您可以在除另一个2014 box(或newer)之外的任何设备上恢复2014年的备份.
你可以通过
在所有计算机上使用相同版本的SQL Server,这样就可以轻松地在实例之间备份/恢复数据库
否则,您可以在SQL Server Management Studio(Tasks > Generate Scripts
)中或使用第三方工具为 struct (表、视图、存储过程等)和内容(表中包含的实际数据)创建数据库脚本
或者,您可以使用第三方工具,如Red Gate的SQL Compare和SQL Data Compare,在源和目标之间进行"差异化",根据这些差异生成更新脚本,然后在目标平台上执行这些脚本;这适用于不同的SQL Server版本.
compatibility mode设置只控制您可以使用哪些T-SQL功能,这有助于防止意外使用其他服务器上不可用的新功能.但它确实改变了这.mdf
个文件的内部文件格式—这是针对该特定问题的解决方案—对于在旧实例上从较新版本的SQL Server恢复备份,没有解决方案.