適用於 Visual Studio Code 的 SQL Server 延伸模組

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

本文說明如何使用適用於 Visual Studio Code (Visual Studio Code) 的 mssql 延伸模組搭配 Windows、macOS 和 Linux 上的 SQL Server 資料庫,以及搭配 Azure SQL Database、Azure SQL 受控執行個體與 Azure Synapse Analytics。 適用於 Visual Studio Code 的 mssql 延伸模組 \(英文\) 可讓您連線到 SQL Server、使用 Transact-SQL (T-SQL) 查詢並檢視結果。

建立或開啟 SQL 檔案

將語言模式設定為 [SQL] 時,mssql 延伸模組會在程式碼編輯器中啟用 mssql 命令和 T-SQL IntelliSense。

  1. 選取 [檔案]>[新增檔案],或按 Ctrl+N 鍵。 Visual Studio Code 預設會開啟新的純文字檔。

  2. 在下方狀態列上選取 [純文字],或按 Ctrl+K>M 鍵,然後從語言下拉式清單中選取 [SQL]

    Screenshot of Visual Studio Code G U I, SQL language mode.

    注意

    若這是您首次使用此延伸模組,該延伸模組會在背景安裝 SQL Tools Service

如果您開啟副檔名為 .sql 的現有檔案,語言模式會自動設定為 SQL。

連接至 SQL Server

遵循下列步驟來建立連線設定檔,並連線到 SQL Server。

  1. Ctrl+Shift+PF1 鍵以開啟 [命令選擇區]。

  2. 鍵入 sql 來顯示 mssql 命令,或鍵入 sqlcon,然後從下拉式清單中選取 MS SQL: Connect

    Screenshot of Visual Studio Code G U I, m s s q l commands.

    注意

    SQL 檔案 (例如,您所建立的空 SQL 檔案) 在程式碼編輯器中必須有焦點,才能執行 mssql 命令。

  3. 選取 MS SQL: Manage Connection Profiles 命令。

  4. 接著,選取 [建立],為您的 SQL Server 建立新的連線設定檔。

  5. 遵循提示來指定新連線設定檔的屬性。 指定每個值之後,按 Enter 鍵繼續。

    Connection 屬性 描述
    伺服器名稱或 ADO 連接字串 指定 SQL Server 執行個體名稱。 使用 localhost 連線到本機電腦上的 SQL Server 執行個體。 若要連線到遠端 SQL Server,請輸入目標 SQL Server 的名稱或其 IP 位址。 若要連線到 SQL Server 容器,則指定容器主機電腦的 IP 位址。 如果您需要指定連接埠,可使用逗號來將它與名稱隔開。 例如,針對接聽連接埠 1401 的伺服器,輸入 <servername or IP>,1401

    連接字串會預設使用連接埠 1433。 除非有所修改,否則 SQL Server 的預設執行個體會使用 1433。 若您的執行個體正在接聽 1433,則您無須指定連接埠。

    或者,您也可以在這裡輸入資料庫的 ADO 連接字串。
    資料庫名稱 (選擇性) 您要使用的資料庫。 若要連線到預設資料庫,請不要在這裡指定資料庫名稱。
    驗證類型 選擇 [整合式] 或 [SQL 登入]
    使用者名稱 如果您選取 [SQL 登入],請輸入有權存取伺服器上之資料庫的使用者名稱。
    密碼 請輸入指定之使用者的密碼。
    儲存密碼 Enter 鍵以選取 [是] 並儲存密碼。 每次使用連線設定檔時,當系統提示您輸入密碼時選取 [否]
    設定檔名稱 (選擇性) 輸入連線設定檔的名稱,例如 localhost profile

    輸入所有值並選取 Enter 鍵之後,Visual Studio Code 會建立連線設定檔並連線到 SQL Server。

    提示

    如果連線失敗,則嘗試在 Visual Studio Code 的 [輸出] 面板中,從錯誤訊息中診斷問題。 若要開啟 [輸出] 面板,請選取 [檢視]>[輸出]。 另請檢閱連線疑難排解建議

  6. 在下方狀態列中確認您的連線。

    Screenshot of Visual Studio Code G U I, Connection status.

作為先前步驟的替代項,您也可以在「使用者設定」檔案 (settings.json) 中建立和編輯連線設定檔。 若要開啟設定檔案,請選取 [檔案]>[喜好設定]>[設定]。 如需詳細資訊,請參閱管理連線設定檔 \(英文\)。

加密和信任伺服器憑證

適用於 VS Code 的 mssql 延伸模組 v1.17.0 和更新版本包含 [加密] 屬性的重要變更,現在已預設會對 MSSQL 提供者連線啟用 (設定為 True),且 SQL Server 必須使用受信任的根憑證授權單位所簽署的 TLS 憑證進行設定。 此外,若初始連線嘗試在啟用加密 (預設) 的情況下失敗,mssql 延伸模組即會發出通知提示,提供啟用信任伺服器憑證的連線嘗試選項。 [加密] 和 [信任伺服器憑證] 屬性皆可在使用者設定檔案 (settings.json) 中手動編輯。 最佳做法是支援伺服器的受信任加密連線。

Screenshot of Visual Studio Code GUI, Notification with prompt for Trust server certificate.

若使用者是連線到 Azure SQL Database,則無需變更已儲存的現有連線;Azure SQL Database 支援加密連線且會以受信任的憑證進行設定。

若使用者是連線至內部部署 SQL Server 或虛擬機器中的 SQL Server,當 [加密] 設為 True 時,請確定您具備來自受信任憑證授權單位的憑證 (例如 非自我簽署的憑證)。 或者,您可以選擇在沒有加密的情況下進行連線 ([加密] 設為 False),或信任伺服器憑證 ([加密] 設為 True 且 [信任伺服器憑證] 設為 True)。

建立資料庫

  1. 在您稍早開啟的新 SQL 檔案中,輸入 sql 以顯示可編輯的程式碼片段清單。

    Screenshot of editor in Visual Studio Code, SQL snippets.

  2. 選取 [sqlCreateDatabase]

  3. 在程式碼片段中,輸入 TutorialDB 來取代 'DatabaseName':

    -- Create a new database called 'TutorialDB'
    -- Connect to the 'master' database to run this snippet
    USE master
    GO
    IF NOT EXISTS (
       SELECT name
       FROM sys.databases
       WHERE name = N'TutorialDB'
    )
    CREATE DATABASE [TutorialDB]
    GO
    
  4. Ctrl+Shift+E 鍵來執行 Transact-SQL 命令。 在查詢視窗中檢視結果。

    Screenshot of Visual Studio code G U I , create database messages.

    提示

    您可以自訂 mssql 命令的快速鍵。 請參閱自訂快速鍵 \(英文\)。

建立資料表

  1. 刪除 [程式碼編輯器] 視窗的內容。

  2. Ctrl+Shift+PF1 鍵以開啟 [命令選擇區]。

  3. 鍵入 sql 來顯示 mssql 命令,或鍵入 sqluse,然後選取 MS SQL: Use Database 命令。

  4. 選取新的 TutorialDB 資料庫。

    Screenshot of Visual Studio code G U I , choosing a database.

  5. 在程式碼編輯器中,輸入 sql 以顯示程式碼片段、選取 [sqlCreateTable],然後按 Enter 鍵。

  6. 在程式碼片段中,針對資料表名稱輸入 Employees

  7. Tab 鍵移至下一個欄位,接著輸入 dbo 作為架構名稱。

  8. 使用下列資料行來取代資料行定義:

    EmployeesId INT NOT NULL PRIMARY KEY,
    Name [NVARCHAR](50)  NOT NULL,
    Location [NVARCHAR](50)  NOT NULL
    
  9. Ctrl+Shift+E 鍵來建立資料表。

插入和查詢

  1. 新增下列陳述式,將四個資料列插入至 Employees 資料表。

    -- Insert rows into table 'Employees'
    INSERT INTO Employees
       ([EmployeesId],[Name],[Location])
    VALUES
       ( 1, N'Jared', N'Australia'),
       ( 2, N'Nikita', N'India'),
       ( 3, N'Tom', N'Germany'),
       ( 4, N'Jake', N'United States')
    GO
    -- Query the total count of employees
    SELECT COUNT(*) as EmployeeCount FROM dbo.Employees;
    -- Query all employee information
    SELECT e.EmployeesId, e.Name, e.Location
    FROM dbo.Employees as e
    GO
    

    當您輸入時,T-SQL IntelliSense 可協助您完成陳述式:

    Screenshot of Visual Studio Code U I , T-SQL IntelliSense.

    提示

    Mssql 延伸模組也有可協助建立 INSERT 和 SELECT 陳述式的命令。 上述範例中並未用到這些命令。

  2. Ctrl+Shift+E 鍵來執行命令。 這兩個結果集會顯示於 [結果] 視窗中。

    Screenshot of Visual Studio Code U I, the Results pane.

檢視並儲存結果

  1. 選取 [檢視]>[編輯器配置]>[翻轉配置],以切換為垂直或水平分割配置。

  2. 選取 [結果] 和 [訊息] 面板標題,以摺疊和展開面板。

    Screenshot of Visual Studio Code U I, Toggle headers.

    提示

    您可以自訂 mssql 延伸模組的預設行為。 請參閱自訂延伸模組選項 \(英文\)。

  3. 選取第二個結果方格上的 [將方格最大化] 圖示,以放大這些結果。

    Screenshot of Visual Studio Code U I, Maximize grid.

    注意

    當您的 T-SQL 指令碼產生兩個或多個結果方格時,即會顯示最大化圖示。

  4. 在方格上按一下滑鼠右鍵,以開啟方格捷徑功能表。

    Screenshot of Visual Studio Code U I, Context menu.

  5. 選取 [全選]

  6. 再次開啟 [方格] 捷徑功能表,然後選取 [另存為 JSON],以將結果儲存為 .json 檔案。

  7. 指定 JSON 檔案的檔案名稱。

  8. 確認 JSON 檔案會在 Visual Studio Code 中儲存並開啟。

    Screenshot of editor in Visual Studio Code U I, Save as J SON.

如果您稍後需要儲存並執行 SQL 指令碼以用於管理或較大的開發專案,請使用 .sql 副檔名來儲存指令碼。

下一步