您好,感謝您在 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 孤立鎖定
- 開啟 PowerShell (系統管理員),暫停 IPAM 服務與相關排程任務,避免新的同步作業繼續寫入 WID:
# 停止 IPAM 服務 Stop-Service IpaSvc # 停用 IPAM 排程資料收集任務 Get-ScheduledTask -TaskPath "\Microsoft\Windows\IPAM\" | Disable-ScheduledTask - 重啟 WID 服務以強制釋放被孤立查詢佔用的 SQL Session 與鎖定:
Restart-Service "MSSQL`$MICROSOFT##WID"
第二階段:連接 WID 並壓縮資料庫交易日誌 (Shrink WID Log)
Windows Internal Database (WID) 使用具名的 SQL Pipe 連線,您可以使用 SSMS (SQL Server Management Studio) 或 sqlcmd 工具連接並管理。
- 開啟 SSMS,在 伺服器名稱 (Server Name) 輸入以下 WID Pipe 路徑並選擇 Windows 驗證 登入:
np:\\.\pipe\MICROSOFT##WID\tsql\query - 開啟 新查詢 (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 的負擔:
- 開啟 PowerShell (系統管理員) 執行以下清理指令(可依需求調整保留天數,例如清理 30 天以前的過期資料):
# 清理舊的 IPAM 稽核記錄 (Audit Data) Purge-IpamServerData -EndDate (Get-Date).AddDays(-30) -PurgeType Audit - 重新啟用 IPAM 排程任務與 IPAM 服務:
# 啟用 IPAM 排程任務 Get-ScheduledTask -TaskPath "\Microsoft\Windows\IPAM\" | Enable-ScheduledTask # 啟動 IPAM 服務 Start-Service IpaSvc - 手動觸發一次 DHCP 資料收集與同步:
Invoke-IpamServerDataCollection -Class DhcpServer
診斷資訊請求
若完成上述 WID 清理與服務重啟後,IPAM Console 依然跳出 Database Synchronization Error,請提供以下資訊以便為您進一步分析:
- 在 事件檢視器 (Event Viewer) -> 應用程式與服務記錄 (Applications and Services Logs) -> Microsoft -> Windows -> IPAM 下的 Admin 與 Operational 日誌中,記錄到的詳細 Event ID (例如 Event ID 10001, 10003) 錯誤內容。
- 針對該分支 DHCP 伺服器執行的 WinRM 與 RPC 連線測試結果:
Test-WSMan -ComputerName "Branch-DHCP-ServerFQDN"
希望上述處理步驟能協助您順利解除 WID 鎖定並壓縮 WID 日誌檔!若處理過程中遇到任何問題,歡迎隨時在本討論串留言,我會持續為您跟進。
如果這個解答對您有所幫助,請考慮將其標記為 「接受解答 (Accept Answer)」,這將有助於社群中遇到相同 IPAM 與 WID 同步問題的其他工程師快速找到解決方案!
相關 Microsoft Learn 官方說明文件: