共用方式為


改進:對 SQLIOSim 公用程式進行數項增強功能

摘要

這項改進可對 SQLIOSim 公用程式進行下列增強功能,並修正 I/O 處理可能造成的數據完整性問題。 如需 SQLIOSim 公用程式的詳細資訊,請參閱 SQLIOSim 公用程式簡介。

增強記錄

  • 新增信號緩衝區來追蹤錯誤,以便因為變換而取代歷程記錄通道緩衝區中的錯誤。
  • 新增包含「刻度計數」和/或「日期和時間」的各種輸出,讓偵錯變得更容易。
  • 將和磁碟區信息的輸出 fsutil 新增至錯誤檔案,以便將檔案位移對應至實體磁碟上的位移,並更輕鬆地篩選 I/O 子系統追蹤。
  • 新增國際標準時間 (UTC) 和當地時間的輸出。
  • 將頁首的輸出細分為錯誤檔案,例如PageId、總和檢查碼和時間戳。
  • 顯示環形緩衝區的頁面 FILE HISTORY 清單,以更輕鬆地找出環形緩衝區專案。
  • 在 Sqliosim.log.xmlErrorLog.xslt 檢視中顯示時間戳、日期時間、邏輯 CPU 和其他數據行。
  • 增加環形緩衝區的大小,並減少變換的頻率。
  • 為一般輸出提供十六進位和十進位輸出,例如PageId、總和檢查碼和時間戳。
  • 更新Sqliosim.log.xml面配置,讓您更輕鬆地在文本編輯器中讀取 XML 檔案。
  • 已驗證Sqliosim.log.xmlErrorLog.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時間、十六進位和十進位、時間戳/刻度計數、BNR和頁面標頭展開。

增強輸出的第二個範例包含下列增強功能:

  • 環形緩衝區
  • UTC 時間
  • 頁面範圍分組

增強輸出的螢幕快照,其中包括 Ring buffer、UTC Time 和 Page 範圍分組。

增強輸出的第三個範例包含下列增強功能:

  • 刻度計數數據行
  • 邏輯 CPU 資料行

增強輸出的螢幕快照,其中包含刻度計數和邏輯 CPU 的數據行。

其他相關資訊

這項改善包含在 SQL Server 的下列累積更新中:

SQL Server 2022 的累積更新 7

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含先前組建中的所有 Hotfix 和安全性修正。 建議您為 SQL Server 版本安裝最新的組建:

SQL Server 2022 的最新累積更新

參考資料

了解 Microsoft 用來說明軟體更新的術語