SQL Server Management Studio Database Engine 查詢編輯器視窗

您可以使用 Database Engine 查詢編輯器來建立並執行 Transact-SQL 和 sqlcmd 指令碼。

取得 Transact-SQL 說明

本主題是來自 Database Engine 查詢編輯器視窗之 F1 說明的預設位置。如果您在編輯器中反白顯示的文字不符合任何 Transact-SQL 參考主題所適用的 F 說明關鍵字之後,選取 F1,F1 說明會顯示這個主題。在此情況下,有兩個方法可取得其他說明:

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

  • 只反白顯示可能符合套用到某個主題之 F 關鍵字的部分 Transact-SQL 陳述式,然後再次選取 F1。反白顯示的字串範例包括:

    • Transact-SQL 陳述式的名稱,例如 CREATE DATABASE 或 BEGIN TRANSACTION。

    • 內建函數的名稱,例如 SERVERPROPERTY 或 @@VERSION。

    • 系統預存程序資料表或檢視表的名稱,例如 sys.data_spaces 或 sp_tableoption。

功能

  • 在 [查詢編輯器] 視窗中輸入指令碼。

  • 若要執行指令碼,請按 F5,或在工具列上按一下 [執行],或是在 [查詢] 功能表上按一下 [執行]。如果已選取程式碼的一部分,則只會執行該部分。如果未選取任何程式碼,則會執行查詢編輯器內的所有程式碼。

  • 如果要取得 Transact-SQL 語法的說明,請在查詢編輯器中選取關鍵字,然後按一下 F1

  • 如需 Transact-SQL 語法的動態說明,請在 [說明] 功能表上,按一下 [動態說明],這樣會開啟動態說明元件。在動態說明中,於查詢編輯器內輸入關鍵字時,說明主題會出現在 [動態說明] 視窗內。

  • 查詢編輯器支援 IntelliSense 功能,例如單字和參數的完成。如需詳細資訊,請參閱<使用 IntelliSense>。

    [!附註]

    針對大型 Transact-SQL 指令碼啟用 IntelliSense 可能會讓執行速度很慢的電腦降低效能。如需有關如何限制已啟用 IntelliSense 之 Transact-SQL 指令碼大小的詳細資訊,請參閱<選項 (文字編輯器/Transact-SQL/IntelliSense)>。

  • 查詢編輯器會提供 Transact-SQL 偵錯工具,幫助您用來偵錯 Transact-SQL 指令碼和陳述式。如需詳細資訊,請參閱<使用 Transact-SQL 偵錯工具>。

  • 錯誤訊息會顯示在以下區域中:

    • 顯示在視窗底部的 [訊息] 索引標籤中,表示 SQL Server Database Engine 傳回的錯誤。

    • 顯示在 [錯誤清單] 視窗中,表示 IntelliSense 產生的錯誤。如需詳細資訊,請參閱<錯誤清單視窗 (Management Studio)>。

    • 顯示在 [輸出][立即] 視窗中,表示 Transact-SQL 偵錯工具所產生的錯誤。

SQL 編輯器工具列

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

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

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

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

  • 使用目前的連接新增查詢
    開新的 [查詢編輯器] 視窗,並使用目前 [查詢編輯器] 視窗中的連接資訊。

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

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

  • 偵錯
    啟用 Transact-SQL 偵錯工具。此偵錯工具支援偵錯動作,例如設定中斷點、監看變數及逐步執行程式碼。

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

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

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

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

  • 啟用 IntelliSense
    指定 Database Engine 查詢編輯器中是否有提供 IntelliSense 功能。

  • 包括實際執行計畫
    執行查詢、傳回查詢結果以及查詢使用的執行計畫。這些會當做圖形化查詢計畫出現在 [執行計畫] 視窗中。

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

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

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

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

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

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

  • 減少行縮排
    移除行頭的空白,將此行的文字移到左邊。

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

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

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

SQL 編輯器工具列

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

  • 繼續
    在 Database Engine [查詢編輯器] 視窗中執行程式碼,直到遇到中斷點為止。 

  • 全部中斷
    設定偵錯工具在遇到中斷時,中斷附加偵錯工具的所有處理序。

  • 停止偵錯
    讓選取的 Database Engine [查詢編輯器] 視窗移出偵錯模式,並還原標準執行模式。

  • 顯示下一個陳述式
    將游標移到下一個要執行的陳述式。

  • 逐步執行
    執行目前陳述式後面的陳述式。如果此陳述式會叫用 Transact-SQL 預存程序、函數或觸發程序,偵錯工具就會顯示包含模組程式碼的新 [查詢編輯器] 視窗。此視窗會處於偵錯模式中,而且執行作業會在模組的第一個陳述式上暫停。接著,您就可以透過設定中斷點或逐步執行程式碼,在模組程式碼之間移動。

  • 不進入函式
    執行目前陳述式後面的陳述式。如果此陳述式會叫用 Transact-SQL 預存程序、函數或觸發程序,模組就會執行直到完成為止,而且結果會傳回給呼叫的程式碼。如果您確定模組中沒有任何錯誤,就可以不進入此模組。執行作業會在模組呼叫之後的陳述式上暫停。

  • 跳離函式
    跳回下一個最高的呼叫層級 (函數、預存程序或觸發程序)。執行作業會在模組呼叫之後的陳述式上暫停。

  • 視窗
    開啟 [中斷點] 視窗或 [即時運算] 視窗。

變更記錄

更新的內容

已更正「逐步執行」和「不進入函式」的描述。