-1

昨天我在我的笔记本电脑(Windows 7 64 位)上安装了 SQL Server 2008,我需要将一个附加.mdf到服务器,但是当我尝试这样做时,我收到了这个错误:

服务器“prince/sqlexpress”的附加数据库失败(Microsoft.SqlServer.smo)

附加信息:1.执行 Transact Sql 语句或批处理时发生异常 (Microsoft.SqlServer.connectioninfo)

2.无法打开物理文件操作系统错误5:“5(访问被拒绝。)”。(Microsoft SQL Server,错误:5120)

在互联网的帮助下,我找到了一些解决方案。

1.以管理员身份启动SQL Server管理器(右键单击程序,选择“以管理员身份启动”):

但我仍然遇到同样的错误。

.mdf文件确实有权限,所以我搬到了外部驱动器(pendrive,因为我的系统只有C:\驱动器,但我没有分区)。

然后我得到另一个错误,

为服务器“Prince\SQLEXPRESS”附加数据库失败。
(Microsoft.SqlServer.Smo) 附加信息:

执行 Transact-SQL 语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)

无法打开数据库“Databasename”,因为它是版本 655。此服务器支持版本 611 和更早版本。不支持降级路径。无法打开新数据库“数据库名称”。CREATE DATABASE 已中止。(Microsoft SQL Server,错误:948)

我使用查询 -

“选择@@版本;”

我得到的输出为

“Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Feb 9 2007 22:47:07 版权所有 (c) 1988-2005 Microsoft Corporation Express Edition on Windows NT 6.1 (Build 7600:)”

我该怎么办?但是我安装了 SQL Server 2008。我该如何改变它?如何解决此错误,请帮助解决此问题,如果您有任何解决方案,请发布。

4

3 回答 3

5

消息很清楚:数据库 MDF 文件是版本655。您的服务器理解版本611。这意味着,尽管您声称相反,您已连接到 SQL Server 2005。安装 SQL Server 2008,连接到它,并附加您的数据库。请在安装过程中注意您选择的实例名称,并确保连接到该实例。您现在还可以检查您安装了哪些实例,查看您的系统上有哪些服务。MSSQLSERVER将是默认实例,MSSQL$<instancename>将是命名实例。使用任何 SCM 查询工具来查看您安装了哪些服务,例如。sc.exe.

于 2012-06-23T08:09:10.310 回答
1

Microsoft SQL Server Management Studio 需要管理员权限才能在 Windows 7 中附加数据库。如果直接执行,则会收到错误 5120。使用鼠标右键并选择以管理员身份执行来修复此正在执行的 Management Studio 图标。祝你好运。

于 2013-05-02T03:37:53.687 回答
0

最后我解决了我的问题,

停止 SQLEXPRESS 服务并卸载所有与 SQL Server 2005 相关的组件。然后打开注册表编辑器转到 HKEY_LOCAL_MACHINE--SOFTWARE--MICROSOFT--MICROSOFT SQL SERVER-删除文件夹 90。然后再次重新安装 SQL Server 2008 并创建新实例适用于 2008 服务器。现在它的工作,我可以附加 mdf 文件。

于 2012-06-24T17:07:01.150 回答