SQL 服务器版本不匹配
SQL Server version mismatch
我正在尝试将 SQL 服务器 .mdf 附加到我的 Management Studio 2014,但出现错误:
Attach database failed for Server '...\SQLINSTANCE'. (Microsoft.SqlServer.Smo)
Additional information:
An exception occured while executing a Transact-SQL statement or batch.
(Microfost.SqlServer.ConnectionInfo)
The database 'DatabaseName' cannot be opened because it is version 706. This server supports version 663 or earlier. A downgrade path is not supported.
Could not open new database 'DatabaseName'. CREATE DATABASE is aborted. (Microsoft SQL Server, Error: 948)
.mdf 是在 SQL Server 2012 上创建的(可能在错误消息中表示为 'version 706')。
好的,所以我需要在家用电脑上将我的数据库引擎升级到 2012。这意味着从 https://www.microsoft.com/en-gb/download/details.aspx?id=29062
安装 2012 Express
在我这样做之前有几个问题。通过安装 2012,它会自动添加到 Management Studio 2014 吗?然后我会同时拥有 2008 年和 2012 年作为我可能想要创建的新数据库的选项,还是 2012 年会简单地取代 2008 年?
在下载页面上,它表示支持的操作系统是"Windows 7, Windows Server 2008 R2, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 2"。但我使用的是 Windows 10。这只是 MS 没有更新页面的情况,还是 2012 真的有 Windows 10 的问题?
编辑: 这个问题确实与之前在 SO 上提出的问题类似(例如 ),但在这里我不考虑回滚2012 版本的数据库到 2008,但与在我的家用 PC 上安装 2012 相关的问题。
所以,您的 SQL 服务器版本是 2008 - 您有 2014 管理工作室,您需要使用 2012 服务器版本的数据库。
如果是的话;那么我希望以下一些内容会对您有所帮助:
Windows 10 可以 运行 SQL Server 2012 没问题。
文档可能只是没有更新,但我个人没有在多个实例中看到任何问题。
Management Studio 2014 也可以连接到 SQL 服务器版本 2012。您无需重新安装。
除非您希望删除 SQL Server 2008,否则您需要将 2012 安装为新实例,因此您基本上有两个 SQL 服务器 运行ning。但是,这将影响您连接到数据库的方式。
查看,例如:https://msdn.microsoft.com/en-us/library/ms143531.aspx 了解更多信息
因此,与其拥有多个实例,不如考虑您是否仍需要 2008,因此如果您根本不需要它,它可能会被删除。
此外 - 考虑是否值得将您的本地实例升级到较新的版本 - 例如 2014。但是,如果您需要在 2014 实例上创建数据库并将其移动到 2012 实例,这当然可能会在将来给您带来同样的问题。
这完全取决于实际需求、设置和开发模型。基本上因为你说这是你的家用电脑,我认为最新版本可能只是最好的方法,因为你不太可能将该版本用作 "creator" 而不是开发版本。
我正在尝试将 SQL 服务器 .mdf 附加到我的 Management Studio 2014,但出现错误:
Attach database failed for Server '...\SQLINSTANCE'. (Microsoft.SqlServer.Smo)
Additional information:
An exception occured while executing a Transact-SQL statement or batch.
(Microfost.SqlServer.ConnectionInfo)
The database 'DatabaseName' cannot be opened because it is version 706. This server supports version 663 or earlier. A downgrade path is not supported.
Could not open new database 'DatabaseName'. CREATE DATABASE is aborted. (Microsoft SQL Server, Error: 948)
.mdf 是在 SQL Server 2012 上创建的(可能在错误消息中表示为 'version 706')。
好的,所以我需要在家用电脑上将我的数据库引擎升级到 2012。这意味着从 https://www.microsoft.com/en-gb/download/details.aspx?id=29062
安装 2012 Express在我这样做之前有几个问题。通过安装 2012,它会自动添加到 Management Studio 2014 吗?然后我会同时拥有 2008 年和 2012 年作为我可能想要创建的新数据库的选项,还是 2012 年会简单地取代 2008 年?
在下载页面上,它表示支持的操作系统是"Windows 7, Windows Server 2008 R2, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 2"。但我使用的是 Windows 10。这只是 MS 没有更新页面的情况,还是 2012 真的有 Windows 10 的问题?
编辑: 这个问题确实与之前在 SO 上提出的问题类似(例如
所以,您的 SQL 服务器版本是 2008 - 您有 2014 管理工作室,您需要使用 2012 服务器版本的数据库。
如果是的话;那么我希望以下一些内容会对您有所帮助:
Windows 10 可以 运行 SQL Server 2012 没问题。 文档可能只是没有更新,但我个人没有在多个实例中看到任何问题。
Management Studio 2014 也可以连接到 SQL 服务器版本 2012。您无需重新安装。
除非您希望删除 SQL Server 2008,否则您需要将 2012 安装为新实例,因此您基本上有两个 SQL 服务器 运行ning。但是,这将影响您连接到数据库的方式。 查看,例如:https://msdn.microsoft.com/en-us/library/ms143531.aspx 了解更多信息
因此,与其拥有多个实例,不如考虑您是否仍需要 2008,因此如果您根本不需要它,它可能会被删除。
此外 - 考虑是否值得将您的本地实例升级到较新的版本 - 例如 2014。但是,如果您需要在 2014 实例上创建数据库并将其移动到 2012 实例,这当然可能会在将来给您带来同样的问题。 这完全取决于实际需求、设置和开发模型。基本上因为你说这是你的家用电脑,我认为最新版本可能只是最好的方法,因为你不太可能将该版本用作 "creator" 而不是开发版本。