今天用SQL Server 2008的attach功能附加一个数据库,出了点问题,提示的错误是:
Unable to open physical file "D:DocumentsDaltXXXX.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
2
3
4
|
declare @sqlser varchar (20) EXEC master..xp_regread @rootkey= 'HKEY_LOCAL_MACHINE' , @ key = 'SYSTEMCurrentControlSetServicesMSSQLSERVER' , @value_name= 'objectname' , @value=@sqlser OUTPUT PRINT 'Account Starting SQL Server Service:' + convert ( varchar (30),@sqlser) |
在 我的机器上得到的结果是:Account Starting SQL Server Service:LocalSystem,然后右击包含.mdf,.ldf文件的文件夹,切换到Security界面,添加LocalSystem用户。 在这里我始终找不到这个用户,如下图
不 过这里有一些用户如:User(PRCHAZ01210User),Administrator(PRCHAZ01210User),我给后者添加了 Full control权限,再尝试attach, 没想到还成功了,也不知道上面的那个语句查出来的什么信息,等有时间再看看。
作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/