解决复制的MS SQL SERVER数据库文件访问拒绝导致无法启动数据库的问题

有时候在数据库异常,我们在通过复制MDF文件和LOG文件或者别的方式试图恢复数据库的时候,会出现类似如下错误:


图1. 访问权限拒绝Access is denied

错误大意是:在执行一个SQL语句或者批处理的时候,无法打开某个物理文件。操作系统给出错误5:访问拒绝。
我们去看这个物理文件的权限,不出意外往往是缺乏必要的权限。
要解决这个问题,按下面的步骤来(注意下面的示例图中有些信息跟上面错误中的信息对应的文件并不一至,只是为了举例):

  1. 右击这个数据库文件(MDF和log都分别需要),选属性Properties然后点击安全Security选项卡,然后点击编辑Edit按钮:


    图2. 可见MSSQLSERVER没有出现在列表中

    可见必要的MSSQLSERVER没有出现在列表中,点击添加Add按钮进行添加


    图3. 需要在列表中添加必要的权限
  2. 将位置Location改成本机如下图4和图5所示,如果不是添动目录AD的环境不需要这一步


    图4. 修改搜索位置

    图5. 选择本机
  3. 输入NT Service\MSSQLSERVER后点确定OK按钮


    图6. 添加必要的对象
  4. 确定下面红框中的内容后点确定OK按钮保存即可。


    图7. 点确定按钮保存设定

至此,SQL SERVER对物理文件缺乏访问权限的问题就解决了。

你可能感兴趣的:(解决复制的MS SQL SERVER数据库文件访问拒绝导致无法启动数据库的问题)