改進:對 SQLIOSim 公用程式進行數項增強功能
摘要
這項改進可對 SQLIOSim 公用程式進行下列增強功能,並修正 I/O 處理可能造成的數據完整性問題。 如需 SQLIOSim 公用程式的詳細資訊,請參閱 SQLIOSim 公用程式簡介。
增強記錄
- 新增信號緩衝區來追蹤錯誤,以便因為變換而取代歷程記錄通道緩衝區中的錯誤。
- 新增包含「刻度計數」和/或「日期和時間」的各種輸出,讓偵錯變得更容易。
- 將和磁碟區信息的輸出
fsutil
新增至錯誤檔案,以便將檔案位移對應至實體磁碟上的位移,並更輕鬆地篩選 I/O 子系統追蹤。 - 新增國際標準時間 (UTC) 和當地時間的輸出。
- 將頁首的輸出細分為錯誤檔案,例如PageId、總和檢查碼和時間戳。
- 顯示環形緩衝區的頁面
FILE HISTORY
清單,以更輕鬆地找出環形緩衝區專案。 - 在 Sqliosim.log.xml 或 ErrorLog.xslt 檢視中顯示時間戳、日期時間、邏輯 CPU 和其他數據行。
- 增加環形緩衝區的大小,並減少變換的頻率。
- 為一般輸出提供十六進位和十進位輸出,例如PageId、總和檢查碼和時間戳。
- 更新Sqliosim.log.xml版面配置,讓您更輕鬆地在文本編輯器中讀取 XML 檔案。
- 已驗證Sqliosim.log.xml和 ErrorLog.xslt 可在使用 Internet Explorer (IE) 模式的 Microsoft Edge 中正確檢視。
頁首時間戳
在寫入作業期間,將 GetTickCount64
值儲存在頁首中。 刻度計數適用於在撰寫頁面並篩選 I/O 子系統追蹤時追蹤。
BNR (Bytes-Not-Read)
I/O 問題會導致讀取作業傳回,就像讀取作業成功一樣,但實際的緩衝區不會更新或讀取。 SQLIOSim 公用程式會收到成功的讀取,但驗證檢查失敗。
SQLIOSim 公用程式現在會先使用 BNR 模式戳記讀取緩衝區,再發出讀取。 當讀取作業成功傳回但無法執行實際讀取時,驗證會繼續失敗。 不過,讀取的位元組會顯示 。表示 I/O 子系統問題的 BNR 模式。
Write-retry
如果 I/O 子系統遇到重設 (更常見的直接連結記憶體 (DAS) 安裝),寫入作業要求可能會不正確完成。 SQLIOSim 公用程序不保證寫入重試功能。 在某些情況下,SQLIOSim 公用程式會嘗試讀取和驗證無法寫入的數據。
SQLIOSim 公用程式已增強,可記錄寫入失敗,然後執行寫入重試作業。
增強鎖定
內部鎖定機制和頁面保護 (VirtualProtect) 活動已優化並增強,以確保 SQLIOSim 公用程式所回報的問題不是由 SQLIOSim 公用程式中的邏輯缺陷所造成。
讀取重試
修正在重試失敗的LDX (記錄模擬) 讀取時,導致讀取重試嘗試失敗的問題。
增強型輸出的範例
增強輸出的第一個範例包含下列增強功能:
- UTC 時間
- 十六進位和十進位
- 時間戳/刻度計數
- BNR
- 頁首展開
增強輸出的第二個範例包含下列增強功能:
- 環形緩衝區
- UTC 時間
- 頁面範圍分組
增強輸出的第三個範例包含下列增強功能:
- 刻度計數數據行
- 邏輯 CPU 資料行
其他相關資訊
這項改善包含在 SQL Server 的下列累積更新中:
關於 SQL Server 的累積更新
SQL Server 的每個新累積更新都包含先前組建中的所有 Hotfix 和安全性修正。 建議您為 SQL Server 版本安裝最新的組建:
參考資料
了解 Microsoft 用來說明軟體更新的術語。