我们的生产数据库无法跟上报告,所以我们的DBA已经设置了一个镜像解决方案来运行报告,但在他离开之前它是不完整的。
我有一个主数据库和一个镜像数据库。主要运行SQL Server 2008 R2,镜像运行SQL Server 2016。
我正在尝试创建SQL Server 2008 R2源代码镜像的快照,并在标题中获取错误:
无法打开数据库版本661.将数据库升级到最新版本。
这是我的剧本:
CREATE DATABASE MyDatabase_05162017 ON
(
NAME = 'MyDatabase_Data.mdf'
, FILENAME = 'L:\mssql\userdata\MyDatabase_Data_05162017.ss'
)
AS SNAPSHOT OF MyDatabase
GO
我找到了大量针对相反情况的文章,其中没有降级路径。但我没有找到任何答案,我目前的情况。有没有办法在创建数据库之前设置兼容性?是否甚至可以将SQL Server 2008 R2镜像的快照还原到SQL Server 2016数据库?我试图在不升级生产数据库的情况下这样做。
答案 0 :(得分:0)
2008R2上运行的数据库的兼容级别是多少? 2016年要求它至少是2008年。
答案 1 :(得分:0)
在与镜像无关的情况下也可能发生此问题。
如果以前将数据库附加到了较新的SQL Server,并且您停止了该服务并从具有旧版SQL Server的另一台服务器复制了MDF / LDF,则重新启动SQL Server服务时,您可能会收到此错误消息(因为SQL Server希望根据master中找到的信息来查找具有当前版本的数据库。
解决方案是在复制具有较新版本的MDF之前分离数据库。但是,如果您现在尝试分离它,它将说数据库是可疑的并且无法分离。要解决此错误消息,您可以将数据库置于紧急模式,然后分离它。
当您将MDF与旧版本连接时,SQL Server会自动将其升级到当前版本。