我在生产服务器 (SQL Server 2012) 中有一个数据库,并且有一个开发服务器 (SQL Server 2014)。
我需要在开发服务器中附加数据库,但我意识到一旦附加它就会自动升级到 2014 版,所以我无法在生产服务器中再次附加它。
是否可以在不升级的情况下附加开发服务器中的数据库?
我们计划在开发中进行更改,分离并将其附加回生产环境。
我在生产服务器 (SQL Server 2012) 中有一个数据库,并且有一个开发服务器 (SQL Server 2014)。
我需要在开发服务器中附加数据库,但我意识到一旦附加它就会自动升级到 2014 版,所以我无法在生产服务器中再次附加它。
是否可以在不升级的情况下附加开发服务器中的数据库?
我们计划在开发中进行更改,分离并将其附加回生产环境。
升级不可能不发生。要在较新版本上附加和使用数据库,需要进行一些更改。
这是内部引用和指针格式等底层内容,没有记录版本之间的确切内部更改。如果只是为了满足您的好奇心,请参阅此处了解一些详细信息,但我绝不会冒险尝试直接编辑这些位。
可以不更改数据库的兼容级别,但是您仍然无法对该数据库进行备份并将其还原到另一个 SQL Server 2012 实例。
由于服务器/数据库版本的差异,您的生产和开发服务器应该在相同的版本上才能真正获得开发测试的全部好处。如果您不打算很快升级生产,那么您可以降级开发。
不。
几种可能的解决方法,其中没有一个是微不足道的:
如果磁盘空间允许, 5可能是最简单和最直接的。如果您无法安装 2012 开发实例,2可能是最符合“最佳实践”的一个。3 和 4 是最容易搞砸的,如果你不知何故错过了一块。如果可以的话,我会避免这些。
显然,无论当前需求还是未来需求,最好的选择是拥有一个与生产尽可能匹配的永久开发环境。显然在新服务器/虚拟机上或作为开发服务器中的第二个实例执行此操作,而不是在生产环境中执行此操作。