由于测试计算机上的服务器版本问题,SQL Server 数据库无法正常工作

本文关键字:数据库 Server SQL 常工作 工作 版本 测试 于测试 计算机 服务器 问题 | 更新日期: 2023-09-27 17:57:10

我的开发电脑有SQL Server 2008。我有一个在SQL Server 2008上创建并运行的数据库。SQL Server 2008 的实例名称SQLEXPRESS默认名称。我的连接字符串如下所示:

<add name="DB1Entities" 
     connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.'SQLEXPRESS;attachdbfilename=|DataDirectory|'DB1.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

在我的开发PC上工作得很好。但是当我尝试在另一台PC上运行时,它不起作用,而是显示此错误:

System.Data.EntityException:基础提供程序在打开时失败。 ---> System.Data.SqlClient.SqlException:数据库 '..''DB1.MDF' 无法打开,因为它是版本 655。此服务器支持版本 612 及更早版本。不支持降级路径。

首先,我的测试PC只有SQL Server 2005(实例名称:SQLEXPRESS)。由于此错误,我安装了SQL Server 2008(实例名称:MSSQLSERVER)。我已经从互联网上尝试了许多解决方案。我还尝试通过更改连接字符串中的实例 mame 来尝试。但仍然存在同样的错误。我想我可能需要滑动SQL Server 2005和2008的实例名称。但是不知道该怎么做。

请问有什么解决方案吗?

由于测试计算机上的服务器版本问题,SQL Server 数据库无法正常工作

根据您的错误消息和此图表,您有一个版本 655 (SqlServer 2008) 的 MDF 文件,并且您正在尝试在安装了 Sql Server 2005 的计算机中使用它,该文件支持版本 612。

现在坏消息。您不能在该系统中使用该文件版本。没有工具可以对两个文件进行"转换",众所周知,Sql Server不支持这种情况。

您的选择是有限的。您可以将目标系统升级到最新版本的 Sql Server Express,并尝试在该更新的系统中加载文件。通常,当最新版本的 Sql Server 尝试读取以前的版本(而不是在 Sql Server 2005 之前)时,通常没有问题。另一种可能性是编写当前 Sql Server 数据库的脚本,然后在目标计算机上运行该脚本