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