NVP-vProxy:Data Protection Restore 用戶端未列出 SQL VM 備份

摘要: NetWorker VMware Protection (NVP) vProxy 用於備份Microsoft SQL 虛擬機器 (VM)。此環境包含多個 vCenter 環境,且 SQL VM 已複製到 NetWorker 實務以外的其他 vCenter。SQL VM 還原是從 Data Protection Restore 用戶端 (DPRC) 執行。DPRC 精靈不會顯示 VM 的 SQL 備份,也不會傳回任何錯誤。 ...

本文章適用於 本文章不適用於 本文無關於任何特定產品。 本文未識別所有產品版本。

症狀

  • Data Protection Restore 用戶端 (DPRC) 是從網頁瀏覽器存取: https://NetWorker_Server_Address:9090/flr
  • 將選擇 “管理員 ”和 “應用 ”選項,並且使用者已成功進行身份驗證。
  • 已指定來源 vCenter 和時間範圍,SQL VM 已選取,但不會顯示備份:
    Data Protection Restore 用戶端未顯示任何備份 
  • 此環境包含多個 vCenter 伺服器。已選取要還原的 SQL VM 已複製 (或複製) 至新的 vCenter。VM 已存在 (或存在於) 兩個 vCenter 環境中。使用的複寫方法在 NetWorker 外部。

原因

VM 是使用一種方法進行複製,會產生「複製」的 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 要求,透過以下方式尋找 VM 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 的固有期望是它是唯一的。查詢 VM UUID 時,預期只會出現一個 vCenter 中一個 VM 的結果。

注意:從 DRPC 嘗試檔案層級還原 (FLR) 作業時,也會發現同樣的問題。

解析度

由於 VMware 環境中的 UUID 衝突,無法從 DPRC 還原資料。如需因應措施,請參閱 「其他資訊 」一節。

以下步驟可以更正重複的 UUID;但是,這不會使現有的備份數據可恢復。以下變更是針對變更後及之後所進行之備份的修正措施。使用重複 UUID 的備份從 NetWorker 到期後,還原 UI 會使用其通用唯一 ID (UUID) 正確尋找 VM 備份。

  1. 針對重複的虛擬機器,將其從目前備份的任何 NetWorker 保護群組中移除。
  2. VMware 中新 VM 的強大威力。
  3. 從 vCenter 清查中取消註冊 VM (選取「從清查中移除」)。請勿 刪除虛擬機器。
  4. 重新註冊虛擬機器:瀏覽資料存放區,以滑鼠右鍵按一下 .vmx 檔,然後選擇「註冊 VM」。
  5. 開啟虛擬機器電源。當 vCenter 提示時,選取「我複製了它」。這會強制 vSphere 產生全新的唯一 BIOS 和例項 UUID。
  6. 將虛擬機 (VM) 添加回在步驟 1 中刪除的保護組。
注意:VM 將從組中刪除並重新添加,以防止在 VMware 中的 UUID 更改後,舊的 UUID 保留在工作項清單中。請參閱:NVP vProxy:無法在 vCenter 中找到 UUID「UUID」的所選 VM 工作項目,工作項目將會略過。

請參閱下列 VMware 說明文件,以瞭解複製 UUID 的影響:變更或保留已移動虛擬機器的 UUID 此超連結會帶您前往 Dell Technologies 以外的網站。

 

其他資訊

注意:下列方法可用於將 SQL 資料復原至虛擬機器,無需 NetWorker 伺服器、vProxy 或 DPRC 參與。此方法包括使用備份的儲存集資料夾,在 Data Domain 上建立 NFS 匯出。NFS 匯出會掛接為 VMware 中的 NFS 資料存放區。NFS 資料存放區的 VM 磁碟會附加至 VMware 環境中的 SQL VM。SQL .mdf.ldf 檔會從磁碟複製到 VM 上的另一個位置,並匯入到 SQL Server Management Studio (SSMS) 中。
警告:這是盡力而為的因應措施,可在環境條件使還原 UI 無法找到正確備份的情況下,嘗試復原資料。NetWorker 支援可協助在 Data Domain 上選取正確的儲存集路徑等項目,而 VMware、作業系統和 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 資料的 VM 磁碟掛接至 SQL VM。執行下列步驟:

  1. 複製 SQL 資料庫 .mdf.ldf 檔從附加磁碟到 VM 上的另一個位置。例如,在附加的磁碟中找到以下資料庫:
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. 請確定檔案和資料夾不是「唯讀」。在資料的資料夾路徑上按右鍵,確保未勾選「唯讀」。檔案也不得選取「唯讀」:
    未在資料庫檔案上選擇唯讀屬性 
  2. 使用管理使用者帳戶登入 SQL Server Management Studio (SSMS)。
  3. 以滑鼠右鍵按一下資料庫,然後按一下附加。
  4. 「要連接的資料庫 」視窗中,按兩下 「添加」。瀏覽至位置 .mdf 檔案已複製到並選取。
  5. 如果 SQL 伺服器包含與原始資料庫同名的資料庫,則必須重命名要導入的資料庫。選擇 「附加為 」欄位並重新命名資料庫,例如添加 _OLD

將 SQL 資料庫作為新資料庫匯入

  1. 按一下 確定,資料庫即會匯入 SQL Server Management Studio。
    警告:任何許可權或基於操作系統的導入錯誤都必須由系統或資料庫管理員解決。

    在此範例中,原始資料庫 NetWorkerSupport 存在,且會匯入備份副本「NetWorkerSupport_OLD」。

資料庫已匯入

資料庫表包含備份時原始資料庫的內容:

已還原的 SQL 資料庫

SQL 資料隨即復原至系統,並由 SQL 資料庫管理員管理。資料復原後,不需要再從備份媒體取得資料,即可將磁碟與 VMware 分離。也可以從 VMware 分離暫時的 NFS 資料存放區,並移除 Data Domain 上的 NFS 匯出。這些清理步驟詳見下列文章的還原 後清理章節 :  NetWorker:不使用 vProxy 裝置,手動掛接 FLR 程序的 Windows VM 儲存集磁碟

受影響的產品

NetWorker

產品

NetWorker Family
文章屬性
文章編號: 000450321
文章類型: Solution
上次修改時間: 14 5月 2026
版本:  5
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。