NVP-vProxy:Data Protection Restore Client 不列出 SQL 虚拟机备份

摘要: NetWorker VMware Protection (NVP) vProxy 用于备份 Microsoft SQL 虚拟机 (VM)。该环境包含多个 vCenter 环境,并且 SQL 虚拟机被复制到 NetWorker 实践之外的另一个 vCenter。SQL 虚拟机还原从 Data Protection Restore Client (DPRC) 执行。DPRC 向导不显示虚拟机的 SQL 备份,不会返回任何错误。 ...

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

  • Data Protection Restore Client (DPRC) 可从网页浏览器访问: https://NetWorker_Server_Address:9090/flr
  • 管理员应用程序选项处于选中状态,并且用户成功进行身份验证。
  • 指定源 vCenter 和时间范围,选择 SQL 虚拟机,但不显示任何备份:
    Data Protection Restore Client显示无备份 
  • 该环境由多个 vCenter Server 组成。选择要恢复的 SQL 虚拟机已复制(或复制)到新 vCenter。虚拟机同时存在于两个 vCenter 环境中。使用的复制方法在 NetWorker 外部。

原因

使用导致“复制”VMware 通用唯一标识符 (UUID) 的方法复制虚拟机。NetWorker 介质数据库在两个不同的 vCenter 下列出相同的 UUID。例如:

[root@nsr ~]# mminfo -avot -q vmname=SQLVM02 -r name | sort | uniq
vm:503df65c-90cd-e729-13a4-2f5711ba5b85:MyOldvCente.amer.lan
vm:503df65c-90cd-e729-13a4-2f5711ba5b85:MyNewvCenter.amer.lan

DPRC 使用 REST API 连接到 NetWorker 服务器并列出备份。它使用全局 REST API GET 请求来查找虚拟机,方法是使用 global/vmware/vms?q=Uuid:UUID。以下内容显示在 flr-server.log

  • Linux: /nsr/authc/logs/flr-server.log
  • Windows(默认值): C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\logs\flr-server.log
2026-04-08 13:43:42,855 [https-jsse-nio-9090-exec-4] INFO  c.e.n.c.n.i.NwRestApiBase.buildWebResourceFromUri 171 - Call NW: [https://NETWORKER_SERVER_ADDRESS:9090/nwrestapi/v3/global/vmware/vms?q=Uuid:VM_UUID]

DPRC 无法提供备份,因为冲突是由于在多个 vCenter 中出现的唯一标识符而出现的。同一 REST API 调用将返回两个 vCenter:
Linux:

curl -k --user Administrator "https://localhost:9090/nwrestapi/v3/global/vmware/vms?q=Uuid:UUID

Windows:

curl.exe -k --user Administrator "https://localhost:9090/nwrestapi/v3/global/vmware/vms?q=Uuid:UUID

示例:

[root@nsr ~]#  curl -k --user Administrator:'!Password1' "https://localhost:9090/nwrestapi/v3/global/vmware/vms?q=Uuid:503df65c-90cd-e729-13a4-2f5711ba5b85" | jq                                                                                
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1213    0  1213    0     0  17328      0 --:--:-- --:--:-- --:--:-- 17328
{
  "count": 2,
  "vms": [
    {
      "annotation": "",
      "connectionState": "connected",
      "hostname": "SQLVM02",
      "ipAddress": "192.168.9.10",
      "ipAddresses": [
        "192.168.9.10"
      ],
      "links": [
        {
          "href": "https://localhost:9090/nwrestapi/v3/global/vmware/vcenters/MyNewvCenter.amer.lan/vms/503df65c-90cd-e729-13a4-2f5711ba5b85",
          "rel": "item"
        }
      ],
      "morefId": "vm-1364",
      "name": "SQLVM02",
      "osId": "windows2019srv_64Guest",
      "osName": "Microsoft Windows Server 2019 (64-bit)",
      "powerState": "on",
      "state": "running",
      "status": "green",
      "type": "VirtualMachine",
      "uuid": "503df65c-90cd-e729-13a4-2f5711ba5b85",
      "vCenterHostname": "MyNewvCenter.amer.lan",
      "version": "vmx-18"
    },
    {
      "annotation": "",
      "connectionState": "connected",
      "hostname": "",
      "ipAddress": "",
      "ipAddresses": [],
      "links": [
        {
          "href": "https://localhost:9090/nwrestapi/v3/global/vmware/vcenters/MyOldvCenter.amer.lan/vms/503df65c-90cd-e729-13a4-2f5711ba5b85",
          "rel": "item"
        }
      ],
      "morefId": "vm-15697",
      "name": "SQLVM02",
      "osId": "windows9Server64Guest",
      "osName": "Microsoft Windows Server 2016 (64-bit)",
      "powerState": "off",
      "state": "notRunning",
      "status": "gray",
      "type": "VirtualMachine",
      "uuid": "503df65c-90cd-e729-13a4-2f5711ba5b85",
      "vCenterHostname": "MyOldvCenter.amer.lan",
      "version": "vmx-18"
    }
  ]
}

这不是预期行为。UUID 的固有期望是它是唯一的。查询虚拟机 UUID 时,只预期一个 vCenter 中的一个虚拟机的结果。

提醒:从 DRPC 尝试文件级还原 (FLR) 操作时,也会观察到相同的问题。

解决方案

由于 VMware 环境中的 UUID 冲突,无法从 DPRC 恢复数据。有关解决方法,请参阅 “其他信息 ”部分。

以下步骤可以更正重复的 UUID;但是,这不会使现有备份数据可恢复。以下更改是针对更改后及以后执行的备份的纠正措施。使用重复 UUID 的备份从 NetWorker 过期后,恢复 UI 会使用虚拟机备份的通用唯一 ID (UUID) 正确查找虚拟机备份。

  1. 对于重复的虚拟机,将其从当前备份的任何 NetWorker 保护组中删除。
  2. VMware 中新虚拟机的强大功能。
  3. 从 vCenter 清单中取消注册虚拟机(选择“从清单中删除”)。请勿 删除虚拟机。
  4. 重新注册虚拟机:浏览数据存储区时,右键单击 .vmx 文件,然后选择“Register VM”。
  5. 启动虚拟机。当 vCenter 提示时,选择“I copied it”。这迫使 vSphere 生成全新的唯一 BIOS 和实例 UUID。
  6. 将虚拟机 (VM) 添加回在步骤 1 中删除它的保护组。
提醒:VM 将从组中删除并重新添加,以防止旧的 UUID 在 VMware 中更改后留在工作项列表中。请参阅:NVP vProxy:在 vCenter 中找不到 UUID 为“UUID”的选定虚拟机工作项,将跳过该工作项。

请参阅以下 VMware 文档,了解重复 UUID 的影响:更改或保留已移动虚拟机的 UUID 本超链接将引导您访问非 Dell Technologies 运营的网站。

 

其他信息

提醒:以下方法可用于将 SQL 数据恢复到虚拟机,而无需 NetWorker 服务器、vProxy 或 DPRC 参与。此方法涉及使用备份的存储集文件夹在 Data Domain 上创建 NFS 导出。NFS 导出项在 VMware 中作为 NFS 数据存储区装载。NFS 数据存储区的虚拟机磁盘连接到 VMware 环境中的 SQL 虚拟机。SQL .mdf.ldf 文件将从磁盘复制到 VM 上的其他位置,并导入到 SQL Server Management Studio (SSMS) 中。
警告:这是在环境条件导致恢复 UI 无法找到正确备份的情况下尝试恢复数据的最佳解决方法。NetWorker 支持可帮助完成在 Data Domain 上选择正确的存储集路径等项目,而 VMware、OS 和 SQL 任务则通过其各自的管理员进行处理。这些都是 NetWorker-外部操作,必须由 VMware、系统和数据库管理员执行。此解决方法的成功很大程度上取决于备份时数据库的状态。如果 SQL 数据库处于高活动状态或发生更改,则预期数据可能在恢复中不可用。如果 SQL 数据库大部分时间处于非活动状态,则以下进程可能完全正常工作。 

前提条件:

  • 恢复所需的存储集必须是数据库存储集,而不是 txnlog 备份。这可以使用 NetWorker 服务器进行标识 mminfo 命令检查它们是否正在运行:
mminfo -avot -q vmname=SQL_VM-NAME

示例:

[root@nsr ~]# mminfo -avot -q vmname=win-sql01.amer.lan
 volume        type   client           date     time         size ssid      fl   lvl name
...
VMBackupPool.002 Data Domain vcsa.amer.lan 04/11/2026 11:38:14 AM 104 GB 4124732135 cr full vm:503ea434-0331-8ed6-8b19-b9cd408cce7a:vcsa.amer.lan
VMBackupPool.002 Data Domain vcsa.amer.lan 04/11/2026 12:30:09 PM 2341 KB 4107958035 cr txnlog vm:503ea434-0331-8ed6-8b19-b9cd408cce7a:vcsa.amer.lan

full 备份是包括虚拟机磁盘 (VMDK) 在内的完整数据库备份。而 txnlog 备份只包含事务日志,不包括数据库。

数据恢复:

执行前提条件步骤后,包含 SQL 数据的虚拟机磁盘应装载到具有随机驱动器号的 SQL 虚拟机。执行以下步骤:

  1. 复制 SQL 数据库 .mdf.ldf 文件从附加的磁盘复制到虚拟机上的其他位置。例如,在连接的磁盘中可以找到以下数据库:
PS R:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA> dir


    Directory: R:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
...
-a----         4/10/2026  11:46 AM        8388608 NetWorkerSupport.mdf
-a----         4/10/2026  11:32 AM        8388608 NetWorkerSupport_log.ldf
...
文件将复制到用户创建的文件夹中 C:\tmp\RecoveredSQLdata管理此进程:
PS C:\tmp\RecoveredSQLdata> dir


    Directory: C:\tmp\RecoveredSQLdata


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         4/10/2026  11:46 AM        8388608 NetWorkerSupport.mdf
-a----         4/10/2026  11:32 AM        8388608 NetWorkerSupport_log.ldf
  1. 确保文件和文件夹不是“只读”。右键单击指向数据的文件夹路径,并确保未选中“Read Only”。文件也不得选择“Read Only”:
    在数据库文件上未选择“只读”属性 
  2. 使用管理用户帐户登录到 SQL Server Management Studio (SSMS)。
  3. 右键单击 Databases,然后单击 Attach
  4. “要附加的数据库 ”窗口中,单击 “添加”。浏览到 .mdf 文件已复制到并选择它。
  5. 如果 SQL Server 包含与原始数据库同名的数据库,则必须重命名要导入的数据库。选择 Attach As 字段并重命名数据库,例如 add _OLD

将 SQL 数据库作为新数据库导入

  1. 单击 “确定”,数据库将导入到 SQL Server Management Studio 中。
    警告:任何权限或基于操作系统的导入错误都必须由系统或数据库管理员解决。

    在此示例中,原始数据库存在 NetWorkerSupport ,并导入了备份拷贝“NetWorkerSupport_OLD”。

导入数据库

数据库表包含备份时原始数据库中的内容:

恢复的 SQL 数据库

SQL 数据将恢复到系统,并可由 SQL 数据库管理员进行管理。数据恢复后,备份介质中不再需要任何数据,磁盘可以与 VMware 分离。也可以将临时 NFS 数据存储区与 VMware 分离,并且可以移除 Data Domain 上的 NFS 导出项。以下文章的 还原操作之后的清理 部分详细介绍了这些清理步骤:  NetWorker:在没有 vProxy 一体机的情况下手动装载 Windows VM 存储集磁盘以执行 FLR 过程

受影响的产品

NetWorker

产品

NetWorker Family
文章属性
文章编号: 000450321
文章类型: Solution
上次修改时间: 20 4月 2026
版本:  1
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。