SQL Server 2012 restore数据库时在文件夹下看不到.bak文件的解决办法
来源:互联网 发布:js接口安全域名 个人 编辑:程序博客网 时间:2024/04/28 19:17
问题描述
有两台SQL Server 2012 分别称为ServerA、ServerB,目标是利用backup/restore的方法将ServerA上的数据库db1转移到ServerB上。步骤如下:
- 使用sa用户登录到ServerA的Management Studio,选择Object Explorer|ROOT|databases|db1右键单击db1,弹出右键菜单选择Tasks|back up… 将数据库备份到文件db1.bak中。
- 将db1.bak复制到ServerB的机器上
- 使用sa用户登录到ServerB的Management Studio,选择Object Explorer|ROOT|databases 右键单击databases弹出右键菜单选择Tasks|restore|databases…,弹出对话框,在对话框中加入db1.bak
但是在第3步的时候遇到了一个问题,db1.bak原本copy后放在D:\backups文件夹中,但是restore添加备份文件时在backups文件夹下看不到任何文件。将db1.bak复制到其他目录下就可以看到了。
问题调查
首先我们比较两个文件夹的区别,发现唯一的区别就是backups文件夹局域网中有共享其他文件夹没有共享,初步怀疑问题和这个有关系。于是将backups文件夹的共享属性去掉,再试还是不行。于是一通试验,发现新建的没有共享过的文件夹可以工作,文件夹只要共享过(共享后取消共享也不行)就不行了。问题至此确定了重现的步骤即copy sqlserver的backup文件到一个共享过的文件夹中,则无法使用restore从这个文件夹中读取备份文件。
问题的解决
既然找到了重现的步骤那么解决的办法就很直接了,如下的方法一和方法二都是直接规避“共享过”的文件夹而产生的方法。虽然直接但不够优雅,不够本质,所以有了方法三。
方法一,新建一个没有共享过的文件夹存放备份文件
方法二,将备份文件放到磁盘根目录下
方法三,以上两个方法都可以解决这个问题,但是不够完美。于是继续在网上搜索,果然搜到一个帖子,http://dba.stackexchange.com/questions/47304/bak-file-not-visible-in-any-directory-in-ssms
这个帖子的解决办法是将NT SERVICE\MSSQLSERVER这个用户加入文件的访问列表中并赋予相应的权限,如下图:
问题总结
看过这个帖子可以清楚这个问题的本质是MSSQLSERVER这个用户是否有权限访问备份文件所在的文件夹,默认情况下新建的文件夹是可以访问的,但是共享破坏了授权,即使取消共享也无法恢复对MSSQLSERVER用户的授权,所以只要是共享过的文件夹MSSQLSERVER用户都无法访问。解决的办法就是显式将MSSQLSERVER加入文件夹的访问列表中。
- SQL Server 2012 restore数据库时在文件夹下看不到.bak文件的解决办法
- SQl Server利用bak文件还原数据库
- 还原sql server 数据库(.bak文件)
- 【SQL Server】--SQL Server数据库bak文件还原
- sql server 还原备份的bak文件
- 在SQL Server Management Studio中打开BAK文件恢复数据库
- restore bak 文件
- SQL SERVER导入BAK文件
- 当恢复sql server bak文件时,原始的用户无法删除
- 用SQL Server 2000还原.bak文件
- SQL Server 2005导入bak文件
- SQL Server 2008导入bak文件
- SQL Server 2005导入bak文件
- 使用bak文件还原SQL Server
- SQL Server 2005导入bak文件
- sql server2005 bak文件强制还原数据库
- SQL SERVER 查询目标文件夹下的所有文件
- SQL Server收缩数据库日志文件失败的解决办法
- Ubuntu14.04 svn 安装 Rabbitvcs
- Servlet-2
- 翻译《有关编程、重构及其他的终极问题?》——10.避免使用多个小的#ifdef块
- 解决镜像无法删除的问题
- (课堂讨论)查阅资料,了解Git出现的历史过程
- SQL Server 2012 restore数据库时在文件夹下看不到.bak文件的解决办法
- 数据结构--Floyd
- 网络流24题2 太空飞行计划问题 洛谷 2762
- 向上滑动飞进来SlidingUpPanelLayout
- Linux概论
- 第5章 初始化与清理
- android读写文件
- 来感受一下别人的密码,名字缩写什么的都弱爆了!
- Linux 信号相关知识