查詢結果概觀

在 Transact-SQL 編輯器中開啟或建立資料庫查詢之後,您通常會想要執行該查詢和檢查結果。在執行查詢時,編輯器會使用 [結果] 窗格進行該查詢結果的通訊。[結果] 窗格至多包含五個索引標籤:[結果]、[訊息]、[用戶端統計資料] 和 [執行計劃]。您所看到的特定索引標籤取決於下列因素。

  • 顯示結果設定:選擇以三種方式的其中一種顯示結果:[以方格顯示結果] (預設)、[以文字顯示結果] 或 [以檔案顯示結果]。此設定決定要使用 [結果] 索引標籤、[訊息] 索引標籤或同時使用兩者來顯示結果。

  • 用戶端統計資料設定:如果您啟用 [包含用戶端統計資料] 設定,則會使用 [用戶端統計資料] 索引標籤來顯示統計資料。

  • 執行計劃設定:如果您按一下 [顯示估計執行計劃] 或啟用 [包括實際執行計劃] 設定,會使用 [執行計劃] 索引標籤來顯示執行計劃。

您可以使用視窗邊緣的分割器列調整 [結果] 窗格的大小。

結果索引標籤

如果您選擇以方格顯示結果,[結果] 索引標籤會顯示您的查詢從資料庫擷取的資料。資料中包含一個或多個獨立的結果集。只有傳回結果的查詢 (例如包含 SELECT 陳述式或預存程序的查詢) 會在 [結果] 索引標籤上顯示資料。如果順利執行查詢卻沒有傳回任何結果集,就不會出現 [結果] 索引標籤。

如果您選擇以文字顯示結果,則所有結果和訊息都會出現在 [結果] 索引標籤上,而且不會出現 [訊息] 索引標籤。如果您選擇將結果另存成檔案,系統會提示您輸入用來儲存結果之檔案的名稱。訊息會出現在 [訊息] 索引標籤上。

[驗證 SQL 語法] 命令的結果一律會出現在 [結果] 索引標籤上。

當您以滑鼠右鍵按一下 [結果] 索引標籤時,可以執行下列動作:

  • 複製
    將所選取的資料 (儲存格或儲存格範圍) 複製到剪貼簿中。

  • 全選
    選取結果清單中的所有資料列和資料行。通常您需在複製資料前執行這個動作。

  • 儲存結果
    將 [結果] 索引標籤的內容儲存成您指定的 .CSV 檔案。如果您選擇以文字顯示結果,就會將結果儲存成 .TXT 檔案。

  • 屬性視窗
    顯示屬性視窗。

多個結果集

如果您執行一組會產生多個結果的 Transact-SQL 陳述式,則整組陳述式都會出現在 [結果] 索引標籤中,並以分隔器列分隔。您可以使用分隔器列調整個別結果組的大小,還可以按 F6 及 SHIFT+F6 在結果和窗格之間巡覽。

訊息索引標籤

[訊息] 索引標籤會顯示資料庫伺服器在您執行查詢時傳回的所有訊息。這些訊息包括文字輸出,例如 PRINT 陳述式的結果。[訊息] 索引標籤也包括自訂訊息,例如當您使用 "GO 10" 執行批次時。不擷取資料的查詢 (例如更新查詢) 也會在 [訊息] 索引標籤上顯示訊息。

成功訊息和失敗訊息都會出現在此索引標籤上,並按照伺服器傳回的順序排列。如果您選擇以文字顯示結果,[訊息] 索引標籤的內容會改為出現在 [結果] 索引標籤上。

當您以滑鼠右鍵按一下 [訊息] 索引標籤時,可以執行下列動作:

  • 複製
    將選取文字複製到剪貼簿。

  • 全選
    選取所有訊息。通常您需在複製訊息前執行這個動作。

  • 儲存結果
    將 [訊息] 索引標籤的內容儲存成您指定的 .TXT 檔案。

  • 屬性視窗
    顯示屬性視窗。

用戶端統計資料索引標籤

[用戶端統計資料] 索引標籤包含每次在該 Transact-SQL 編輯器執行個體上執行查詢的相關資訊 (即使是不同查詢也一樣)。每當您執行查詢時,就會加入一個資料行,並且更新平均值。每個儲存格不僅代表該執行的值,也會指出該值是否已變更。向上箭號表示增加值、向下箭號表示減少值,如果維持上次執行的值不變,則以向右箭號表示。

注意

每次執行都會在 [統計資料] 資料行右邊以及先前執行的資料欄左邊加入一個資料行。

若是第一次執行,所有結果都會標示未變更。每個資料行都會標示查詢執行時間。資料行會加入到左邊。

如果您在執行查詢時選擇包含用戶端統計資料,才會出現 [用戶端統計資料] 索引標籤。如需詳細資訊,請參閱 HOW TO:控制用戶端統計資料的收集和顯示

當您以滑鼠右鍵按一下 [用戶端統計資料] 索引標籤時,可以執行下列動作:

  • 複製
    將選取的資料列複製到剪貼簿。

  • 全選
    選取所有資料列。通常您需在複製資料列前執行這個動作。

  • 屬性視窗
    顯示屬性視窗。

可用的統計資料

[用戶端統計資料] 索引標籤上會顯示下列統計資料:

  • INSERT、DELETE 和 UPDATE 陳述式的數目
    作為查詢結果所執行的 INSERT、DELETE 或 UPDATE 陳述式數目。

  • 受 INSERT、DELETE 和 UPDATE 陳述式影響的資料列
    作為查詢之一部份而執行的 INSERT、DELETE 或 UPDATE 陳述式所影響之資料列數目。

  • SELECT 陳述式的數目
    透過連接至查詢所執行的 SELECT 陳述式數目。這個數目包括從資料指標擷取資料列的 FETCH 陳述式。

  • SELECT 陳述式傳回的資料列
    選取作為查詢執行之一部份的資料列數目。此數目反映 Transact-SQL 陳述式產生的所有資料列,甚至包含呼叫端實際上並未耗用 (例如若您取消執行) 的資料列。這個數目也包括從資料指標擷取資料列的 FETCH 陳述式。

  • 交易次數
    您的查詢執行中啟動的使用者交易次數,包括回復次數。

  • 伺服器往返數目
    在查詢執行期間,連接傳送命令至伺服器並收到回覆的次數。

  • 從用戶端傳送的 TDS 封包
    用戶端在查詢執行期間傳送至資料庫伺服器的 TDS 封包數目。較大的命令會需要多個緩衝區。例如,如果將大型命令傳送至伺服器,而且需要六個封包,伺服器往返數目就會遞增一次,而用戶端傳送的 TDS 封包數目會遞增六個。

  • 從伺服器接收的 TDS 封包
    用戶端從 SQL Server 執行個體接收到的 TDS 封包數目。

  • 從用戶端傳送的位元組
    用戶端在查詢執行期間傳送至 SQL Server 執行個體的位元組數目。

  • 從伺服器接收的位元組
    用戶端在查詢執行期間從 SQL Server 執行個體接收的位元組數目。

  • 用戶端處理時間
    執行查詢期間,用戶端花在執行程式碼的累計時間。

  • 總執行時間
    執行查詢時,用戶端進行處理的累計時間 (以毫秒為單位),包括用戶端等待伺服器回覆的時間,以及執行程式碼的時間。

  • 伺服器回應的等候時間
    用戶端等候伺服器回應的累計時間 (以毫秒為單位)。

執行計劃索引標籤

[執行計劃] 索引標籤會顯示所選取之查詢的估計或實際執行計劃。產生估計執行計劃時,不會執行 Transact-SQL 查詢或批次。不過,若是真的執行查詢,所產生的執行計劃會顯示 SQL Server 執行個體最有可能使用的查詢執行計畫。

若要顯示估計或實際執行計劃,必須連接 SQL Server 執行個體。若要存取包含 [顯示估計執行計劃] 或 [包括實際執行計劃] 按鈕的功能表,請以滑鼠右鍵按一下 Transact-SQL 編輯器視窗,或依序按下 [資料] 和 [Transact-SQL 編輯器]。若要檢視實際執行計劃,您還必須執行查詢或批次。

若要檢視其他資訊,請將滑鼠暫時放在邏輯與實體運算子的圖示上,即可在顯示的 [工具提示] 中檢視運算子的說明與屬性。或者,您可以在 [屬性] 視窗中檢視運算子屬性。如果沒有看到 [屬性] 視窗,請以滑鼠右鍵按一下運算子,然後按一下 [屬性視窗]。選取運算子以檢視其屬性。

若要使用這個功能,使用者必須具有適當的權限來執行要產生圖形執行計劃的 Transact-SQL 查詢,而且必須獲得查詢所參考的所有資料庫的 SHOWPLAN 權限。如需詳細資訊,請參閱執行程序表

當您以滑鼠右鍵按一下 [執行計劃] 索引標籤時,可以執行下列動作:

  • 儲存結果
    將 [執行計劃] 索引標籤的內容儲存成您指定的執行計劃 (.sqlplan) 檔案。

  • 屬性視窗
    顯示屬性視窗。

請參閱

工作

HOW TO:執行查詢

參考

Transact-SQL 編輯器選項 (查詢執行/一般)

概念

使用 Transact-SQL 編輯器編輯資料庫指令碼和物件