首页 > 代码库 > SQL点滴7—使用SQL Server的attach功能出现错误及解决方法

SQL点滴7—使用SQL Server的attach功能出现错误及解决方法

原文:SQL点滴7—使用SQL Server的attach功能出现错误及解决方法

今天用SQL Server 2008的attach功能附加一个数据库,出了点问题,提示的错误是:

Unable to open physical file "D:\Documents\Dalt\XXXX.mdf" Operating system error 5: "5(error not found)" (Microsoft SQL Server: Error 5120)".

记得以前做过类似的操作没有出现什么问题的,不知道为什么会这样,没办法在网上找解决方法,

http://social.msdn.microsoft.com/Forums/en/sqldatabaseengine/thread/9e563890-e35f-4524-82b9-3cca08fec5ed

msdn论坛里说需要给.mdf,.ldf文件添加一个用户权限,运行下面的语句查找这个权限的名称

1 declare @sqlser varchar(20)
2 EXEC master..xp_regread @rootkey=HKEY_LOCAL_MACHINE, @key=SYSTEM\CurrentControlSet\Services\MSSQLSERVER,
3 @value_name=objectname, @value=@sqlser OUTPUT
4 PRINT Account Starting SQL Server Service: +convert(varchar(30),@sqlser)

在我的机器上得到的结果是:Account Starting SQL Server Service:LocalSystem,然后右击包含.mdf,.ldf文件的文件夹,切换到Security界面,添加LocalSystem用户。在这里我始终找不到这个用户,如下图

不过这里有一些用户如:User(PRCHAZ01210\User),Administrator(PRCHAZ01210\User),我给后者添加了Full control权限,再尝试attach, 没想到还成功了,也不知道上面的那个语句查出来的什么信息,等有时间再看看。

SQL点滴7—使用SQL Server的attach功能出现错误及解决方法