IPAM 同步錯誤處理

Min Yang 80 信譽點數
2026-08-07T05:05:43.27+00:00

Active Directory 整合的 IPAM 無法從分支 DHCP 伺服器抓取最新租約分配

系統丟出 Database Synchronization Error,導致同步失敗

內部 WID 資料庫被孤立查詢鎖住,無法正常運作

請問應該如何清除舊的 IPAM 任務並壓縮 WID 日誌呢 ?

Windows 商務版 | Windows 365 企業版
0 則留言 沒有留言

1 個回答

排序依據: 最實用
  1. Brian Huynh 3,815 信譽點數 Microsoft 外部員工
    2026-08-12T07:13:31.1166667+00:00

    您好,感謝您在 Microsoft Q&A 社群發帖。

    了解您在 Active Directory 整合的 IPAM (IP 位址管理) 伺服器從分支機構 DHCP 伺服器抓取租約資料時,遇到 Database Synchronization Error,且內部 WID (Windows Internal Database) 因孤立查詢 (Orphaned Queries) 被鎖住,導致同步失敗與 WID 日誌檔 (Log) 膨脹的狀況。

    當 IPAM 伺服器與遠端分支機構 DHCP 伺服器進行 RPC/WinRM 資料收集時,若網路出現高延遲、封包遺失或遠端服務無回應,IPAM 的排程工作可能會逾時。此時 WID 資料庫中的 SQL 交易 (Transaction) 未能正常 Commit 或 Rollback,形成懸空/被鎖定的 Session。由於這些孤立查詢佔用著交易日誌,WID 便無法進行 Log Truncation,進而導致資料庫鎖定與 IPAM.ldf 日誌檔不斷膨脹。

    要安全地清除舊的 IPAM 孤立任務、解除 WID 鎖定並壓縮 WID 日誌檔,請參考以下標準處理步驟。

    第一階段:停止 IPAM 服務並解除 WID 孤立鎖定

    1. 開啟 PowerShell (系統管理員),暫停 IPAM 服務與相關排程任務,避免新的同步作業繼續寫入 WID:
         # 停止 IPAM 服務
         Stop-Service IpaSvc
       
         # 停用 IPAM 排程資料收集任務
         Get-ScheduledTask -TaskPath "\Microsoft\Windows\IPAM\" | Disable-ScheduledTask
      
    2. 重啟 WID 服務以強制釋放被孤立查詢佔用的 SQL Session 與鎖定:
         Restart-Service "MSSQL`$MICROSOFT##WID"
      

    第二階段:連接 WID 並壓縮資料庫交易日誌 (Shrink WID Log)

    Windows Internal Database (WID) 使用具名的 SQL Pipe 連線,您可以使用 SSMS (SQL Server Management Studio) 或 sqlcmd 工具連接並管理。

    1. 開啟 SSMS,在 伺服器名稱 (Server Name) 輸入以下 WID Pipe 路徑並選擇 Windows 驗證 登入: np:\\.\pipe\MICROSOFT##WID\tsql\query
    2. 開啟 新查詢 (New Query) 視窗,執行以下 SQL 指令來清除懸空交易並壓縮 IPAM.ldf 日誌檔:
         USE IPAM;
         GO
       
         -- 1. 執行 CHECKPOINT,強迫將記憶體中已完成的交易寫入磁碟並標記可清理的 Log Space
         CHECKPOINT;
         GO
       
         -- 2. 查詢 IPAM 資料庫的邏輯檔案名稱 (邏輯 Log 名稱通常為 IPAM_log)
         SELECT name, type_desc, physical_name FROM sys.database_files;
         GO
       
         -- 3. 壓縮 IPAM 交易日誌檔 (將目標大小設為 10MB)
         DBCC SHRINKFILE (IPAM_log, 10);
         GO
      

    第三階段:清理 IPAM 舊有歷史與稽核資料

    資料庫鎖定解除後,建議透過 PowerShell 清理歷史積壓的 IPAM 資料與排程日誌,減少 WID 的負擔:

    1. 開啟 PowerShell (系統管理員) 執行以下清理指令(可依需求調整保留天數,例如清理 30 天以前的過期資料):
         # 清理舊的 IPAM 稽核記錄 (Audit Data)
         Purge-IpamServerData -EndDate (Get-Date).AddDays(-30) -PurgeType Audit
      
    2. 重新啟用 IPAM 排程任務與 IPAM 服務:
         # 啟用 IPAM 排程任務
         Get-ScheduledTask -TaskPath "\Microsoft\Windows\IPAM\" | Enable-ScheduledTask
       
         # 啟動 IPAM 服務
         Start-Service IpaSvc
      
    3. 手動觸發一次 DHCP 資料收集與同步:
         Invoke-IpamServerDataCollection -Class DhcpServer
      

    診斷資訊請求

    若完成上述 WID 清理與服務重啟後,IPAM Console 依然跳出 Database Synchronization Error,請提供以下資訊以便為您進一步分析:

    1. 在 事件檢視器 (Event Viewer) -> 應用程式與服務記錄 (Applications and Services Logs) -> Microsoft -> Windows -> IPAM 下的 Admin 與 Operational 日誌中,記錄到的詳細 Event ID (例如 Event ID 10001, 10003) 錯誤內容。
    2. 針對該分支 DHCP 伺服器執行的 WinRM 與 RPC 連線測試結果:
         Test-WSMan -ComputerName "Branch-DHCP-ServerFQDN"
      

    希望上述處理步驟能協助您順利解除 WID 鎖定並壓縮 WID 日誌檔!若處理過程中遇到任何問題,歡迎隨時在本討論串留言,我會持續為您跟進。

    如果這個解答對您有所幫助,請考慮將其標記為 「接受解答 (Accept Answer)」,這將有助於社群中遇到相同 IPAM 與 WID 同步問題的其他工程師快速找到解決方案!

    相關 Microsoft Learn 官方說明文件:

    此回答有幫助嗎?

    0 則留言 沒有留言

您的回答

答案可由問題作者標示為「已接受」,而由仲裁者標示為「推薦」,這可協助使用者知道答案解決了作者的問題。