IPAM 同步錯誤處理

Min Yang 20 信譽點數
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,735 信譽點數 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 下的 AdminOperational 日誌中,記錄到的詳細 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 則留言 沒有留言

您的回答

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