錯誤與訊息
無法微調工作負載中的事件,產生錯誤與訊息。這些錯誤與訊息會寫入到微調記錄,但不會停微調工作階段。錯誤與訊息報告的內容,可提供有關微調工作階段的有用資訊給使用者,協助他們更為瞭解微調處理序。使用者可使用這項資訊,根據先前微調工作階段的回應來調整輸入參數。這些調整可讓 Database Engine Tuning Advisor 的使用更有效率。
要微調伺服器而會用到大量工作負載時,這類回應特別有用。例如,如果出現以下其中一個狀況,就會將錯誤或訊息寫入微調記錄:
資料庫中不再存在工作負載所建立的暫時資料表。
未選取查詢所參考的資料表進行微調。
無法剖析事件。
微調記錄項目
您可以在使用 dta 命令提示公用程式時,指定 –e 引數的值,使 Database Engine Tuning Advisor 將錯誤與訊息寫入微調記錄。或者,您可以選取 Database Engine Tuning Advisor 圖形化使用者介面 (GUI) 之**[一般]** 索引標籤上的 [儲存微調記錄]。如需使用 Database Engine Tuning Advisor 這兩種使用介面的詳細資訊,請參閱<如何:微調資料庫>與<dta 公用程式>。
如果未在 dta 公用程式的 –e 引數指定檔案或資料表名稱,那麼您可以使用 GUI 來檢視微調記錄資訊。若要利用 GUI 檢視微調記錄,請在微調工作階段期間或是等到完成後,按一下 [進度] 索引標籤。如需詳細資訊,請參閱<如何:檢視微調輸出>。
GUI 中的微調記錄包含下表列出的資料行。
微調記錄資料行
資料行名稱 |
描述 |
---|---|
CategoryID |
將記錄對應到定義的識別碼 (ID)。每個錯誤例項都會被指派一個識別碼。此識別碼是三位數的數字,其開頭為單一字元。您可以在微調記錄資料表內搜尋字首,找到有關陳述式、條件約束或伺服器層級錯誤的項目。字首字元將記錄分類如下:
|
Event |
事件字串 (如果適用的話)。某些訊息與任何事件都無關,因此此資料欄有可能是空白。事件字串會對應到預存程序名稱、批次等等。 |
Statement |
Database Engine Tuning Advisor 會剖析並微調與事件相關的陳述式。與傳回給使用者的訊息相關的陳述式 (若有的話),會擷取到此資料行。如果沒有與訊息相關的陳述式,則此資料行也會空白。此外,如果伺服器無法剖析該事件,此資料行也會空白。 |
Frequency |
這個記錄發生的次數。預設為 1。 |
Reason |
陳述式或事件無法微調的原因。此訊息是由 ODBC 伺服器或 Database Engine Tuning Advisor 產生。 |
下表列出的訊息,是針對先前表格的 CategoryID 資料行描述內所列的分類傳回。
與陳述式或工作負載有關的錯誤
類別識別碼 |
微調記錄訊息 |
---|---|
S001 |
陳述式未參考任何資料表。 |
S002 |
陳述式參考未選取進行微調的資料表。 |
S003 |
陳述式只參考小型資料表。 |
S004 |
陳述式參考索引提示或包含 NOEXPAND 查詢提示的陳述式。 |
S005 |
假設為本機電腦的硬體特性。 使用測試伺服器微調模式時傳回。擴充預存程序 xp_msver 傳回一個錯誤,因此 Database Engine Tuning Advisor 無法判斷遠端電腦的硬體特性。如需詳細資訊,請參閱<降低生產伺服器的微調負載>。 |
S006 |
忽略已連接磁碟上的可用儲存體。 已發生的錯誤使得 Database Engine Tuning Advisor 無法收集有關已連接磁碟上的可用儲存空間資訊。在此狀況下,Database Engine Tuning Advisor 會假設可用的儲存體大小為目前原始資料大小的三倍,包括資料庫內資料表上的標頭與叢集索引的大小在內。 |
S0071 |
對於微調用途,請以 <string> 取代事件 <string>。 |
S0082 |
事件未參考任何資料表。 |
S0092 |
事件參考未選取進行微調的物件。 |
1 Database Engine Tuning Advisor 以內嵌在這類事件內的 Transact-SQL 字串來取代 sp_cursoropen、sp_executesql、sp_prepare、sp_cursorprepare、sp_prepexec 與 sp_cursorprepexec 事件,以供微調用。錯誤訊息 S007 在微調記錄的 [原因] 資料行,提供原始事件與取代事件。
2 這些是事件層級訊息,所以微調記錄的 [陳述式] 資料行將為空白。
與條件約束有關的錯誤
類別識別碼 |
微調記錄訊息 |
---|---|
C002 |
輸入組態中指定的索引檢視沒有索引鍵。不過,這在處理組態時會被忽略。 |
C003 或 C004 |
Database Engine Tuning Advisor 會偵測是否已設定預設微調時間或使用者自訂微調時間以微調工作負載,並在微調記錄中傳回下列其中一個錯誤訊息。(dta.exe 會假設為 8 小時,而 GUI 會假設 1 小時) 若使用預設時間,訊息是: 未分析工作負載中的所有事件。dta.exe 會假設 8 小時的預設時間。考慮使用下列其中一種方式來提供時間範圍。(1) 若使用圖形化使用者介面,請在 [微調選項] 索引標籤頁面中限制微調時間。(2) 若使用 dta.exe,請指定 -A 引數的最大時間量。(3) 若使用 XML 輸入檔,請在 TuningOptions 下指定 TuningTimeInMin 項目的最大時間量。 若使用使用者自訂時間,訊息是: 未分析工作負載中的所有事件。使用下列其中一種方式來增加時間範圍。(1) 若使用圖形化使用者介面,請在 [微調選項] 索引標籤頁面中限制微調時間。(2) 若使用 dta.exe,請指定 -A 引數的最大時間量。(3) 若使用 XML 輸入檔,請在 TuningOptions 下指定 TuningTimeInMin 項目的最大時間量。 |
與伺服器有關的錯誤
類別識別碼 |
微調記錄訊息 |
---|---|
E000 |
來自伺服器的特定訊息這個訊息會變化。 |
E001 |
來自測試伺服器的特定訊息這個訊息會變化。 |
E002 |
無法在測試伺服器上成功複製資料庫。 |