SQL Server Management Studio (SSMS) 查詢編輯器

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse Analytics

本文說明查詢編輯器在 SQL Server Management Studio (SSMS) 中的功能和函式。

注意

如果您想要了解如何使用 Transact-SQL (T-SQL) F1 說明,請參閱 Transact-SQL F1 說明一節。

如果您想要了解使用編輯器可執行哪些工作,請瀏覽編輯器工作一節。

SSMS 中的編輯器會共用一般架構。 文字編輯器實作基本的功能層級,並可以當做文字檔的基本編輯器使用。 其他編輯器 (查詢編輯器) 擴充了此功能基礎,而納入了一項語言服務,用以定義 SQL Server 支援的其中一種語言的語法。 查詢編輯器也會針對 IntelliSense 和偵錯等編輯器功能,實作不同的支援層級。 這些查詢編輯器包括用來建立包含 T-SQL 和 XQuery 陳述式之指令碼的 Database Engine 查詢編輯器、MDX 語言適用的 MDX 編輯器、DMX 語言適用的 DMX 編輯器,以及 XML for Analysis 語言適用的 XML/A 編輯器。 您可以使用查詢編輯器來建立及執行包含 Transact-SQL 陳述式的指令碼。

Screenshot of New query.

SQL 編輯器工具列

當查詢編輯器開啟時,會顯示具有下列按鈕的 SQL 編輯器工具列。

您也可以加入 SQL 編輯器工具列,其方式是選取 [檢視] 功能表、選取 [工具列] ,然後選取 [SQL 編輯器] 。 如果您在沒有任何查詢編輯器視窗開啟時加入 SQL 編輯器工具列,則所有的按鈕都將無法使用。

Screenshot of Editor toolbar.

連接 (使用編輯器工具列)

開啟 連接到伺服器 對話方塊。 使用此對話方塊可建立與伺服器的連接。

您也可以使用捷徑功能表來連接到您的資料庫。

使用編輯器工具列變更連線

隨即開啟 [連接到伺服器] 對話方塊。 使用此對話方塊建立與不同伺服器的連接

您也可以使用捷徑功能表來變更連接。

使用編輯器工具列的可用資料庫

變更連接到同一伺服器的其他資料庫。

執行 (使用編輯器工具列)

執行選取的程式碼,或是在未選取任何程式碼時,執行所有查詢編輯器程式碼。

您也可以透過選取 F5 或從捷徑功能表執行查詢。

使用編輯器工具列取消執行查詢

將取消要求傳送到伺服器。 部分查詢無法立即取消,但必須等候適當的取消條件。 當取消交易之後,交易回復時可能產生延遲。

您也可以透過選取 Alt + Break 來取消執行中的查詢。

剖析 (使用編輯器工具列)

檢查所選取程式碼的語法。 如果未選取任何程式碼,其會檢查 [查詢編輯器] 視窗中所有程式碼的語法。

您也可以透過選取 Ctrl + F5 來檢查查詢編輯器中的程式碼。

使用編輯器工具列顯示估計的執行計劃

在未執行查詢的情況下,向查詢處理器要求查詢執行計畫,並且將計畫顯示在 [執行計畫] 視窗中。 此計畫會使用索引統計資料,預估在執行查詢的每個部分期間預期將傳回的資料列數目。 使用的實際查詢計劃可以與預估的執行計畫不同。 如果傳回的資料列數目與估計值不同,而查詢處理器為了要提高效率而變更計畫時,就可能發生這種情況。

您也可以透過選取 Ctrl + L 或從捷徑功能表顯示預估的執行計畫。

使用編輯器工具列的查詢選項

隨即開啟 [查詢選項] 對話方塊。 使用此對話方塊可設定查詢執行與查詢結果的預設選項。

您也可以從捷徑功能表選取 [查詢選項] 。

使用編輯器工具列啟用 IntelliSense

指定是否可在資料庫引擎查詢編輯器中使用 IntelliSense 功能。 預設會設定此選項。

您也可以透過選取 Ctrl + B 然後選取 Ctrl + I (或從內容功能表) 來選取 [IntelliSense 已啟用] 。

使用編輯器工具列包含實際執行計劃

執行查詢、傳回查詢結果,以及使用查詢的執行計畫。 查詢會以圖形化查詢計劃的形式出現在 [執行計畫] 視窗中。

您也可以透過選取 Ctrl + M 或從捷徑功能表選取 [包括實際執行計畫] 。

使用編輯器工具列包含即時查詢統計數據

隨著控制權在查詢計畫運算子之間流動,提供查詢執行程序的即時見解。

您也可以從捷徑功能表選取 [包含即時查詢統計資料] 。

使用編輯器工具列包含客戶端統計數據

包括 [用戶端統計資料] 視窗,其中包含關於查詢、網路封包的統計資料,以及查詢經過的時間。

您也可以透過選取 Shift + Alt + S 或從捷徑功能表選取 [包含即時查詢統計資料] 。

使用編輯器工具列對文字的結果

在 [結果] 視窗中以文字傳回查詢結果。

您也可以透過選取 Ctrl + T 或從捷徑功能表以文字傳回結果。

使用編輯器工具列來網格線的結果

在 [結果] 視窗中以一或多個方格傳回查詢結果。 此選項預設為啟用。

您也可以透過選取 Ctrl + D 或從捷徑功能表以文字傳回結果。

使用編輯器工具列來檔案的結果

執行查詢時,會開啟 [儲存結果] 對話方塊。 在 [儲存於] 中,選取您想要用來儲存檔案的資料夾。 在 [檔案名稱] 中,輸入檔案的名稱,然後選取 [儲存] 以將查詢結果儲存為具有 .rpt 副檔名的報告檔案。 若要使用進階選項,請選取 [儲存] 按鈕上的向下箭頭,然後選取 [使用編碼方式儲存]。

您也可以透過選取 Ctrl + Shift + F 或從捷徑功能表以文字傳回結果。

註解選取行 (使用編輯器工具列)

在行頭加入註解運算子 (--),將目前的行標示為註解。

您也可以選取 Ctrl + K,然後選取 Ctrl + C 將某行標示為註解。

取消註解選取行 (使用編輯器工具列)

在行頭移除任何註解運算子 (--),將目前的行標示為使用中的來源陳述式。

您也可以選取 Ctrl + K,然後選取 Ctrl + U 以取消某行的註解。

使用編輯器工具列減少縮排

移除行頭的空白,將此行的文字移到左邊。

使用編輯器工具列增加行縮排

在行頭加入空白,將此行的文字移到右邊。

使用編輯器工具列指定範本參數的值

開啟一個對話方塊,讓您指定預存程序和函數中之參數的值。

捷徑功能表

以滑鼠右鍵按一下 查詢編輯器中的任何位置,即可存取捷徑功能表。 捷徑功能表中的選項類似於 SQL 編輯器工具列。 使用捷徑功能表時,您會看到如 [連接] 與 [執行] 的相同選項,但您也可以列出其他選項,例如 [插入程式碼片段] 與 [範圍陳述式]。

Screenshot of Options.

使用操作功能表插入代碼段

Transact-SQL 代碼段是範本,您可以在 查詢編輯器 中撰寫新的 Transact-SQL 語句時作為起點。

使用操作功能表括住

範圍陳述式程式碼片段是一個範本,當您在 BEGIN、IF 或 WHILE 區塊中封入一組 Transact-SQL 陳述式時,可將其當作起點使用。

連接 (使用捷徑功能表)

Screenshot of Connections available.

相較於 SSMS 中的工具列選項,捷徑功能表中有更多 [連接] 選項可用。

  • 連接 - 開啟 [連接到伺服器] 對話方塊。 使用此對話方塊可建立與伺服器的連接。

  • 中斷連接 - 中斷目前查詢編輯器與伺服器的連接。

  • 中斷所有查詢的連接 - 中斷所有查詢連接。

  • 變更連接 - 開啟 [連接到伺服器] 對話方塊。 使用此對話方塊可建立與不同伺服器的連接。

使用操作功能表在 物件總管 中開啟伺服器

[物件總管] 提供階層式使用者介面以檢視及管理每個 SQL Server 執行個體中的物件。 [物件總管詳細資料] 窗格會以表格式檢視來呈現執行個體物件,而且可以搜尋特定物件。 物件總管的功能會隨著伺服器的類型而有些不同,不過,它通常會包括資料庫的開發功能,以及所有伺服器類型的管理功能。

執行 (使用捷徑功能表)

執行選取的程式碼,或是在未選取任何程式碼時,執行查詢編輯器中的所有程式碼。

使用操作功能表顯示估計的執行計劃

在未實際執行查詢的情況下,向查詢處理器要求查詢執行計畫,並且將計畫顯示在 [執行計畫] 視窗中。 此計畫會使用索引統計資料,預估在執行查詢的每個部分期間預期將傳回的資料列數目。 使用的實際查詢計劃可以與預估的執行計畫不同。 如果傳回的數據列數目與估計值不同,而且查詢處理器會將計劃變更為更有效率,就可能發生此情況。

使用操作功能表啟用 IntelliSense

指定是否可在資料庫引擎查詢編輯器中使用 IntelliSense 功能。 預設會設定此選項。

使用操作功能表追蹤 SQL Server Profiler 中的查詢

SQL Server Profiler 是一個介面,可用來建立及管理追蹤,以及分析及重新執行追蹤結果。 事件會儲存於追蹤檔案中,稍後在嘗試診斷問題時,可以用來進行分析或是重新執行特定的一連串步驟。

使用操作功能表分析 資料庫引擎 Tuning Advisor 中的查詢

Microsoft Database Engine Tuning Advisor (DTA) 會分析資料庫,並提出用來最佳化查詢效能的建議。 您可以使用 Database Engine Tuning Advisor 來選取及建立最佳索引、索引檢視表或資料表資料分割集合,而不需要深入了解資料庫結構或 SQL Server 本質內容。 您可以使用 DTA 來執行下列工作。

使用操作功能表在編輯器中設計查詢

在開啟檢視的定義、顯示查詢或檢視的結果,或者建立或開啟查詢時,[查詢和檢視設計師] 會開啟。

使用操作功能表包含實際執行計劃

執行查詢、傳回查詢結果,以及使用查詢的執行計畫。 查詢會以圖形化查詢計劃的形式出現在 [執行計畫] 視窗中。

使用操作功能表包含即時查詢統計數據

隨著控制權在查詢計畫運算子之間流動,提供查詢執行程序的即時見解。

使用操作功能表包含客戶端統計數據

包括 [用戶端統計資料] 視窗,其中包含關於查詢、網路封包的統計資料,以及查詢經過的時間。

結果 (使用捷徑功能表)

Screenshot of Results options.

您可以從捷徑功能表選取想要的任何 [結果] 選項。

  • 以文字顯示結果 - 在 [結果] 視窗中以文字傳回查詢結果。

  • 以方格顯示結果 - 在 [結果] 視窗中以一或多個方格傳回查詢結果。

  • 將結果存檔 - 當查詢執行時,會開啟 [儲存結果] 對話方塊。 在 [儲存於] 中,選取您想要用來儲存檔案的資料夾。 在 [檔案名稱] 中,輸入檔案的名稱,然後選取 [儲存] 以將查詢結果儲存為具有 .rpt 副檔名的報告檔案。 若要使用進階選項,請選取 [儲存] 按鈕上的向下箭頭,然後選取 [使用編碼方式儲存]。

使用操作功能表 屬性視窗

屬性視窗 描述 SQL Server Management Studio 中項目的狀態,例如連接或 Showplan 運算符,以及數據表、檢視表和設計工具等資料庫物件的相關信息。

您可以利用 [屬性] 視窗來檢視目前連接的屬性。 許多屬性在 [屬性] 視窗中都是唯讀的,但在 Management Studio 中的其他位置是可改變的。 例如,查詢的 [資料庫] 屬性在 [屬性] 視窗是唯讀的,但在工具列中是可改變的。

使用操作功能表的查詢選項

隨即開啟 [查詢選項] 對話方塊。 使用此對話方塊可設定查詢執行與查詢結果的預設選項。

Transact-SQL F1 說明

當您選取 F1 時,查詢編輯器 支援將您連結到特定 Transact-SQL 語句的參考文章。 若要執行這項操作,請反白顯示 Transact-SQL 陳述式的名稱,然後選取 F1。 說明搜尋引擎接著會搜尋具有符合您醒目提示字串之 F1 說明屬性的文章。

如果說明搜尋引擎找不到與所醒目提示字串完全相符的 F1 說明關鍵詞的文章,則會顯示這篇文章。 在這種情況下,有兩種方法可以找到您正在尋找的說明:

  • 複製您反白顯示的編輯器字串,並將它貼入《SQL Server 線上叢書》的 [搜尋] 索引標籤,然後進行搜尋。

  • 僅反白顯示 Transact-SQL 語句的一部分,可能符合套用至發行項的 F1 說明關鍵詞,然後再次選取 F1。 搜尋引擎需要您反白顯示的字串與指派給發行項的 F1 說明關鍵詞完全相符。 如果您反白顯示的字串包含環境獨有的元素 (例如資料行或參數名稱),搜尋引擎將不會產生符合的結果。 反白顯示的字串範例包括:

    • Transact-SQL 語句的名稱,例如 SELECTCREATE DATABASEBEGIN TRANSACTION

    • 內建函式的名稱,例如 SERVERPROPERTY、 或 @@VERSION

    • 系統預存程式資料表或檢視表的名稱,例如 sys.data_spacessp_tableoption

編輯器工作

工作描述 發行項
說明您可以在 SSMS 中開啟編輯器的各種方式。 開啟編輯器 (SQL Server Management Studio)
設定各種編輯器的選項,例如行號和 IntelliSense 選項。 設定編輯器 (SQL Server Management Studio)
如何管理檢視模式,例如自動換行、分割視窗或索引標籤。 管理編輯器和檢視模式
設定格式選項,例如隱藏的文字或縮排。 管理程式碼格式設定
使用累加搜尋或移至等功能,在編輯器視窗中瀏覽文字。 導覽程式碼與文字
設定各種語法類別的色彩編碼選項,以更容易讀取複雜的陳述式。 查詢編輯器中的色彩編碼
將文字從指令碼的一個位置拖放至新位置。 拖放文字
如何設定書籤,以便更容易尋找重要的程式碼片段。 管理書籤
如何列印視窗或方格中的指令碼或結果。 列印程式碼與結果
檢視及使用 MDX 查詢編輯器的基本功能。 建立 Analysis Services 指令碼
檢視及使用 DMX 查詢編輯器的基本功能。 建立 DMX 查詢
檢視及使用 XML/A 編輯器中的基本功能。 XML 編輯器 (SQL Server Management Studio)
如何使用資料庫引擎查詢編輯器中的 sqlcmd 功能。 使用查詢編輯器編輯 SQLCMD 指令碼
如何在資料庫引擎查詢編輯器中使用程式碼片段。 程式碼片段是常用陳述式或區塊的範本,可自訂或擴充成包含網站專屬的程式碼片段。 新增 Transact-SQL 程式碼片段
如何使用 Transact-SQL 偵錯工具,逐步執行程式碼,以及檢視偵錯資訊 (例如,變數和參數中的值)。 Transact-SQL 調試程式