=========================报错信息============================================
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数据库

解决方案 »

  1.   

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

  2.   

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

  3.   

    --直接使用
    SELECT physical_name FROM sys.master_files;
    --而不是你的写法,看本地的存储默认位置哦。
    通常如果没有改动,应该是类似这样的结果哦。 
     
      

  4.   

    .mdf和.ldf文件是在本地通过sql script生成以后拷贝到远程路径的,可以肯定的是:SQL Server service的账号具有此路径的读写权限。
    只是拷贝到远程以后就出了以上问题。
      

  5.   


    如果上述问题都已经确认为OK的话,
    如果可以重启sql server service 试试看
      

  6.   

    如果你是网络存储就可以了,比如NAS SAN,
    可是你这只是个网络上一台计算机的共享文件夹,除非用域账户或者本地账户在远程做授权,
    要不然,就只有考到本地来附加了。
      

  7.   


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

  8.   


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

  9.   

    从提示看
    你是要从远程文件夹执行还原操作
    1)如果是域环境 且SQL的服务账号是域账号,在共享文件夹上给这个域账户的对应权限
    2)如果是非域环境 可以再共享的机器上建立与SQL的服务账号同名同密码的账号 ,且给与对应的权限
    3)SQL的服务账号使用域账号或者本地账号 不要使用本地系统账号
      

  10.   

    参考楼上版主说的,确保你的账户有访问远程文件夹的全新,不管是用SHARE FOLDER或者其他方式。如果这些都麻烦的话,你是否可以考虑将文件放到本机呢?这样就不会有那么多限制了。
      

  11.   


    1. 如果你的2台机器实在域(active directory)里的话,如果不是域环境就算了;
    2. 本地的sql server service启动账户,在远程机器建个同名、同密码的用户,然后授权,这样sql server就可以操作远程的文件了
    3. 同2
      

  12.   


    各位耐心看完我啰嗦的问题描述,并给予答复,小弟万分感谢。问题已经解决,解决方式如下:
    1、本地sqlserver service用户修改成Network Service
    2、数据库服务器,设置共享文件夹和权限
    做完以上步骤操作以后进行连接,报错:
    Directory lookup for the file "\\193.168.254.75\db\PAC_TOOL.mdf" failed with the operating system error 1326(登录失败: 未知的用户名或错误密码。).随即进行以下步骤的设置。
    3、数据库服务器,策略组来宾状态开启
    4、数据库服务器,拒绝从网络上访问这台计算机-删除Guest用户
    至此问题得到解决。大家关于Sql Server Service用户权限不足的答复启发我做了第1步操作.这一步最为关键。
    再次感谢热心的朋友们。