共用方式為


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

適用於:SQL ServerAzure SQL 資料庫Azure SQL 受控執行個體Azure Synapse Analytics

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

備註

如果您想要瞭解如何使用 Transact-SQL (T-SQL) F1 說明,請檢視 Transact-SQL F1 說明 一節。

如果您想要瞭解您可以使用編輯器執行的工作,請瀏覽 編輯器工作 一節。

SSMS 中的編輯器會共用一般架構。 文字編輯器會實作基本層級的功能,並可作為文本檔的基本編輯器。 其他編輯器或查詢編輯器會藉由包含語言服務來擴充此功能基底,以定義 SQL Server 所支援其中一種語言的語法。 查詢編輯器也會針對 IntelliSense 和偵錯等編輯器功能實作不同層級的支援。 查詢編輯器包含 Database Engine 查詢編輯器,可用於建置包含 T-SQL 和 XQuery 語句的腳本、MDX 語言的 MDX 編輯器、DMX 語言的 DMX 編輯器,以及 XML for Analysis 語言的 XML/A 編輯器。 您可以使用查詢編輯器來建立和執行包含 Transact-SQL 語句的腳本。

[新增查詢] 的螢幕快照。

SQL 編輯器工具列

當 [查詢編輯器] 開啟時,[SQL 編輯器] 工具列隨即出現,其中包含下列按鈕。

您也可以選取 [檢視] 功能表、選取 [工具列],然後選取 [SQL 編輯器] 來新增 SQL 編輯器工具列。 如果您在沒有開啟 [查詢編輯器] 視窗時新增 SQL 編輯器工具列,則所有按鈕都無法使用。

編輯器工具列的螢幕快照。

使用編輯器工具列進行連線

開啟 [ 連接到伺服器 ] 對話框。 使用此對話框來建立與伺服器的連線。

您也可以使用 右鍵功能表連線到資料庫。

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

開啟 [ 連接到伺服器 ] 對話框。 使用此對話框來建立 與不同伺服器的連線

您也可以使用 右鍵選單來變更連線。

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

將連線變更至相同伺服器上的不同資料庫。

使用編輯器工具列執行

執行選取的程式代碼,如果沒有選取任何程式代碼,則會執行所有查詢編輯器程序代碼。

您也可以選取 F5 或從快捷選單執行查詢。

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

將取消要求傳送至伺服器。 某些查詢無法立即取消,但必須等候適當的取消條件。 取消交易時,交易回復時可能會發生延遲。

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

使用編輯器工具列解析

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

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

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

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

您也可以按下 Ctrl + L,或自 內容功能表顯示預估的執行計劃。

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

開啟 [ 查詢選項 ] 對話框。 使用此對話框來設定查詢執行和查詢結果的預設選項。

您也可以從右鍵功能表中選取查詢選項

透過編輯器工具列啟用 IntelliSense

指定 Database Engine 查詢編輯器中是否提供 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 編輯器工具列]。 使用右鍵功能表,您會看到與 ConnectExecute 相同的選項,但同時也會列出其他選項,例如 插入程式碼片段以...包圍

[選項] 的螢幕快照。

使用上下文選單插入代碼片段

Transact-SQL 片段 是範本,您可以在查詢編輯器中撰寫新的 Transact-SQL 陳述式時用作起點。

使用右鍵選單進行包圍

環繞代碼片段是一種模版,可以在將一組 Transact-SQL 語句包裹在 BEGIN、IF 或 WHILE 區塊內時用作起始點。

使用右鍵選單進行連線

可用的連線螢幕快照。

與 SSMS 中的工具列選項相比,功能表中有更多的 連線 選項。

  • 連線 - 開啟 [連接到伺服器] 對話框。 使用此對話框來建立與伺服器的連線。

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

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

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

使用內容功能表在 [物件總管] 中開啟伺服器

物件總管提供階層式使用者介面,以檢視和管理每個 SQL Server 實例中的物件。 [物件總管詳細資訊]窗格會顯示實例物件的表格視圖,還能搜尋特定物件。 物件總管的功能會根據伺服器類型稍有不同,但通常包含資料庫的開發功能,以及所有伺服器類型的管理功能。

使用右鍵選單執行

執行選取的程式代碼,如果未選取任何程式代碼,則會在查詢編輯器中執行所有程序代碼。

在內容功能表中顯示估計的執行計劃

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

使用內容功能表啟用 IntelliSense

指定 Database Engine 查詢編輯器中是否提供 IntelliSense 功能。 此選項預設為設定。

使用內容功能表,在 SQL Server Profiler 中追蹤查詢

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

在 Database Engine Tuning Advisor 中透過右鍵選單分析查詢

Microsoft Database Engine Tuning Advisor (DTA) 會分析資料庫,並提供您用來優化查詢效能的建議。 您可以使用 Database Engine Tuning Advisor 來選取並建立一組最佳的索引、索引檢視或數據表數據分割,而不需要專家了解資料庫結構或 SQL Server 內部。 使用 DTA,您可以執行下列工作。

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

當您開啟檢視的定義、顯示查詢或檢視的結果,或建立或開啟查詢時,查詢和檢視表設計工具隨即開啟。

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

執行查詢、傳回查詢結果,並使用查詢的執行計劃。 查詢會在執行計劃視窗中顯示為圖形化查詢計劃。

使用右鍵選單包含即時查詢統計數據

提供查詢執行程式的即時深入解析,因為控件會從一個查詢計劃運算符流向另一個查詢計劃運算符。

使用右鍵選單插入客戶端統計數據

包含 客戶端統計數據 視窗,其中包含有關查詢和網路封包的統計數據,以及查詢經過的時間。

使用內容選單的結果

[結果] 選項的螢幕快照。

您可以從上下文選單中選取您想要的任何 結果 選項。

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

  • 結果至網格 - 在結果視窗中以一或多個網格的形式傳回查詢結果。

  • 結果至檔案 - 當查詢執行時,[ 儲存結果 ] 對話框隨即開啟。 在 [另存於] 中,選擇要儲存檔案的資料夾。 在 [檔名] 中,輸入檔名,然後選取 [ 儲存 ] 將查詢結果儲存為擴展名為 .rpt 的 報表 檔案。 針對進階選項,選取 [ 儲存 ] 按鈕上的向下箭號,然後選取 [ 使用編碼方式儲存]。

透過內容功能表使用屬性視窗

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

您可以使用 [屬性] 視窗來檢視目前連接的屬性。 許多屬性在 [屬性] 視窗中是只讀的,但可以在Management Studio 的其他地方變更。 例如,查詢的 Database 屬性在 [屬性] 視窗中是只讀的,但可以在工具列上變更。

使用作功能表的查詢選項

開啟 [ 查詢選項 ] 對話框。 使用此對話框來設定查詢執行和查詢結果的預設選項。

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)
如何在 Database Engine 查詢編輯器中使用 sqlcmd 功能。 使用查詢編輯器編輯 SQLCMD 指令碼
如何在 Database Engine 查詢編輯器中使用代碼段。 程式碼片段是常用語句或區塊的範本,可自訂或擴充以包含網站特定的程式碼片段。 新增 Transact-SQL 代碼段
如何使用 Transact-SQL 調試程式逐步執行程式代碼,並檢視偵錯資訊,例如變數和參數中的值。 Transact-SQL 除錯器 (Transact-SQL debugger)