Windows 11环境下SQL Server无法找到.bak备份文件求助
解决SSMS恢复数据库无法找到.bak文件的问题
核心排查:SQL Server服务账户权限
- 确认SQL Server服务运行账户:打开
services.msc,找到对应SQL Server实例服务(通常命名为SQL Server (实例名)),查看其登录身份。该账户必须拥有.bak文件所在文件夹的读取权限。 - 手动配置文件夹权限:右键目标文件夹→属性→安全→编辑→添加,输入SQL Server服务账户名(如
NT SERVICE\MSSQLSERVER),勾选「读取」和「列出文件夹内容」权限,应用后重启SQL Server服务。
绕开SSMS文件浏览器限制的临时方案
- 手动输入文件路径:在恢复窗口的「设备」选项中点击「添加」,直接输入.bak文件的完整绝对路径(比如
D:\DB_Backup\mydb_202405.bak),点击「确定」跳过搜索环节,验证是否能识别文件。 - 使用T-SQL命令直接恢复(完全避开UI限制):
-- 先查询备份文件中的逻辑文件名 RESTORE FILELISTONLY FROM DISK = 'D:\DB_Backup\mydb_202405.bak'; -- 根据查询结果执行恢复 RESTORE DATABASE MyTargetDB FROM DISK = 'D:\DB_Backup\mydb_202405.bak' WITH REPLACE, MOVE 'MyDB_Data' TO 'D:\DB_Data\MyTargetDB.mdf', MOVE 'MyDB_Log' TO 'D:\DB_Log\MyTargetDB.ldf';
其他排查点
- 检查文件占用:打开任务管理器,确认是否有备份软件、杀毒软件锁定了该.bak文件,临时关闭相关进程后重试。
- 验证路径合法性:确保文件路径无特殊字符(如未转义的中文、空格),若路径含空格,T-SQL中用单引号包裹即可。
- 切换SSMS运行身份:右键SSMS图标→「以管理员身份运行」,或使用拥有文件夹权限的Windows账户启动SSMS。
内容的提问来源于stack exchange,提问作者dutchlab
相关产品推荐
相关产品推荐

