You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell与dbatools恢复SQL Server数据库时提示网络路径未找到

问题:PowerShell恢复SQL Server 2019数据库报错“网络路径未找到”

我是PowerShell新手,拿到一个恢复SQL Server 2019数据库的脚本,在新虚拟机上运行时出错。

运行的PowerShell脚本

Get-ChildItem "F:\NH\WH_BEE_$(Get-Date -Format "yyyyMMdd")_*.bak" | `
Restore-DbaDatabase `
    -SqlInstance instanceName `
    -Database WH_BEE `
    -FileMapping @{
       "WH_Data1" = "F:\data\WH_BEE.MDF";
       "WH_Data2" = "F:\data\WH_BEE_1.NDF";
       "WH_Log" = "G:\log\WH_BEE.LDF"
    };

错误信息

WARNING: [20:29:39][Restore-DbaDatabase] Failure | The network path was not found

我已在VM上以管理员身份执行Install-Module dbatools安装了dbatools,想确认是脚本存在遗漏还是安装未正确完成。

2024年8月24日更新

[截图内容翻译:SQL Server服务运行账户(NT SERVICE\MSSQL$INSTANCE)对F:\NH目录无读取权限,对F:\data和G:\log目录无写入权限]


排查与解决步骤

  • 检查路径有效性:确认F:\NH、F:\data、G:\log在VM上实际存在,手动访问这些路径,确保无访问障碍。
  • 验证服务账户权限:恢复操作使用的是SQL Server服务账户而非当前管理员账户,需给该账户分配:
    • F:\NH的读取权限
    • F:\data和G:\log的读写权限
      可通过服务管理器查看SQL Server的登录账户,再在文件夹安全设置中添加对应权限。
  • 确认实例名称正确:-SqlInstance参数中的instanceName需匹配实际SQL Server实例:默认实例用localhost或VM计算机名,命名实例用计算机名\实例名,可执行Get-DbaInstance检测连接性。
  • 检查dbatools模块状态:执行Get-Module dbatools确认模块已加载,若异常则手动执行Import-Module dbatools,或卸载后重新安装:Uninstall-Module dbatools -Force再运行Install-Module dbatools -Force。
  • 确认备份文件存在:单独执行Get-ChildItem "F:\NH\WH_BEE_$(Get-Date -Format "yyyyMMdd")_*.bak",查看是否能匹配到备份文件,若找不到需检查备份文件的命名规则或生成时间。

内容的提问来源于stack exchange,提问作者Java

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 07:32:44