日期:2014-05-17  浏览次数:20570 次

附加远程数据库文件出错
=========================报错信息============================================
Directory lookup for the file "\\193.168.254.75\db\L.mdf" failed with the operating system error 5(拒绝访问。).
Cannot attach the file '\\193.168.254.75\db\L.mdf' as database 'L'.


=========================数据库连接语句======================================
<add name="conn" connectionString="Server=.;AttachDbFilename=\\193.168.254.75\db\PAC_TOOL.mdf;Database=PAC_TOOL;Trusted_Connection=Yes"/>


=========================远程数据库文件所在目录权限配置======================
1、目标操作系统:win7
2、操作步骤:共享数据库文件所在文件夹
             添加Everyone、Administrator、自建用户、Authenticated User(能加的都加了)
             配给完全控制权限

=========================其余相关信息=========================================
1、可保证数据库文件未损坏。
2、本地数据库安装文件为
Microsoft SQL Server Management Studio 10.50.4000.0
Microsoft Data Access Components (MDAC) 3.85.1132
Operating System
5.1.2600
数据库

------解决方案--------------------
sql server services 运行帐户没有网络share 文件夹的读权限。
------解决方案--------------------


--1、确认SQL Server service的账号是否有路径的读写权限。
--2、讲mdf及ldf文件copy到默认的服务器存储路径上
--获取路径
SELECT physical_name FROM sys.master_files;


------解决方案--------------------
引用:
引用:SQL code?1234--1、确认SQL Server service的账号是否有路径的读写权限。--2、讲mdf及ldf文件copy到默认的服务器存储路径上--获取路径SELECT physical_name FROM sys.master_files;

这样说明具有权限吗?



--直接使用
SELECT physical_name FROM sys.master_files;
--而不是你的写法,看本地的存储默认位置哦。

通常如果没有改动,应该是类似这样的结果哦。 
 
------解决方案--------------------
引用:
引用:引用:引用:SQL code?1234--1、确认SQL Server service的账号是否有路径的读写权限。--2、讲mdf及ldf文件copy到默认的服务器存储路径上--获取路径SELECT physical_name FROM sys.ma……


如果上述问题都已经确认为OK的话,
如果可以重启sql server service 试试看
------解决方案--------------------
换个思路,你把备份的地址选在这个远程的路径下,看能备份过去不?
如果不能备份过去,那可以断定是相关账号,匹配的问题。这个继续从这个方向着手。

------解决方案--------------------
附加的动作不会进行拷贝吧
所以你还是要把网络的文件拷贝到本地然后附加
------解决方案--------------------
如果你是网络存储就可以了,比如NAS SAN,
可是你这只是个网络上一台计算机的共享文件夹,除非用域账户或者本地账户在远程做授权,
要不然,就只有考到本地来附加了。
------解决方案--------------------
引用:
引用:如果你是网络存储就可以了,比如NAS SAN,
可是你这只是个网络上一台计算机的共享文件夹,除非用域账户或者本地账户在远程做授权,
要不然,就只有考到本地来附加了。

“除非用域账户或者本地账户在远程做授权”
请问:
1、如何用域账
2、如何在远程给本地用户做授权
3、2中提到的“本地用户”是指操作系统登陆用……


看你SQL Server 运行的用户是什么,然后去到193.168.254.75,找到共享文件夹,把你这个SQL Server 启动用户加进去。domain会比较方便点。
------解决方案--------------------