Бөлісу құралы:


Расширение SQL Server для Visual Studio Code

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

В этой статье показано, как использовать расширение mssql для Visual Studio Code для работы с базами данных в SQL Server в Windows, macOS и Linux, а также в Базе данных SQL Azure, Управляемом экземпляре SQL Azure и Azure Synapse Analytics. Расширение mssql для Visual Studio Code позволяет подключаться к SQL Server, выполнять запросы с помощью Transact-SQL (T-SQL) и просматривать результаты.

Создание или открытие файла SQL

Чтобы выполнять команды mssql и пользоваться технологией IntelliSense для T-SQL в редакторе кода, необходимо выбрать языковой режим SQL.

  1. Выберите пункт Файл>Создать файл или нажмите клавиши CTRL+N. По умолчанию в Visual Studio Code открывается обычный текстовый файл.

  2. Выберите обычный текст в нижней строке состояния или нажмите клавиши CTRL+K>M и выберите SQL в раскрывающемся списке языков.

    Снимок экрана: выбор языка Visual Studio Code, режим языка SQL.

    Примечание.

    Если это первый раз, когда вы использовали расширение, расширение устанавливает службу sql Tools в фоновом режиме.

Если открыть существующий файл с расширением .sql файла, режим языка автоматически устанавливается в SQL.

Подключение к SQL Server

Чтобы создать профиль подключения и подключиться к SQL Server, выполните указанные ниже действия.

  1. Нажмите клавиши CTRL+SHIFT+P или F1, чтобы открыть палитру команд.

  2. Введите sql, чтобы отобразить команды mssql или ввести sqlcon, а затем выберите MS SQL: Подключиться из раскрывающегося списка.

    Снимок экрана: поддон команды Visual Studio Code, отфильтрованный для команд MS SQL.

    Примечание.

    Чтобы можно было выполнять команды mssql, необходимо установить фокус на файл SQL, например созданный пустой файл SQL, в редакторе кода.

  3. Выберите команду MS SQL: управление профилями подключения.

  4. Затем нажмите Создать, чтобы создать профиль подключения для SQL Server.

  5. Следуя указаниям, настройте свойства для нового профиля подключения. После указания каждого значения нажимайте клавишу ВВОД, чтобы продолжить.

    Свойства подключения Description
    Имя сервера или строка подключения ADO Укажите имя экземпляра SQL Server. Чтобы подключиться к экземпляру SQL Server на локальном компьютере, введите localhost. Чтобы подключиться к удаленному серверу SQL Server, введите имя целевого сервера SQL Server или его IP-адрес. Чтобы подключиться к контейнеру SQL Server, укажите IP-адрес хост-компьютера контейнера. Если необходимо указать порт, отделите его от имени запятой. Например, для сервера, ожидающего передачи данных через порт 1401, введите <servername or IP>,1401.

    По умолчанию строка подключения использует порт 1433. Экземпляр SQL Server по умолчанию использует порт 1433, если этот параметр не изменен. Если экземпляр прослушивает порт 1433, порт указывать не нужно.
    В качестве альтернативы можно ввести строку подключения ADO для своей базы данных.
    Имя базы данных (необязательно) База данных, которую необходимо использовать. Чтобы подключиться к базе данных по умолчанию, не указывайте имя.
    Тип проверки подлинности Выберите Встроенная или Вход SQL.
    Имя пользователя Если выбран Вход SQL, введите имя пользователя с доступом к базе данных на сервере.
    Пароль Введите пароль для указанного пользователя.
    Сохранить пароль Нажмите клавишу ВВОД, чтобы выбрать вариант Да и сохранить пароль. Выберите Нет, чтобы пароль запрашивался при каждом использовании профиля подключения.
    Имя профиля (необязательно) Введите имя профиля подключения, например профиль localhost.

    После ввода всех значений и нажатия клавиши ВВОД Visual Studio Code создает профиль подключения и подключается к SQL Server.

    Совет

    Если подключиться не удается, попробуйте диагностировать проблему в сообщении об ошибке на панели Вывод в Visual Studio Code. Чтобы открыть панель Вывод, выберите пункт Вид>Вывод. Кроме того, ознакомьтесь с рекомендациями по устранению неполадок с подключением.

  6. Проверьте состояние подключения в нижней строке состояния.

    Снимок экрана: Visual Studio Code, состояние подключения.

Вместо выполнения предыдущих инструкций создавать и изменять профили подключения можно также в файле параметров пользователя (settings.json). Чтобы открыть файл параметров, выберите Файл>Настройки>Параметры. Дополнительные сведения см. в статье Управление профилями подключения.

Шифрование и сертификат сервера доверия

Начиная с расширения mssql для VS Code версии 1.17.0:

  • Свойство Encrypt по умолчанию включено (задано Trueдля подключений поставщика MSSQL)
  • SQL Server необходимо настроить с помощью сертификатов TLS, подписанных доверенным корневым центром сертификации

Кроме того, если начальная попытка подключения завершается сбоем с включенным шифрованием (по умолчанию), расширение mssql предоставит запрос уведомления с возможностью попытки подключения с включенным сертификатом сервера доверия.

Свойства сертификата сервера encrypt and Trust можно изменить в файле параметров пользователя (settings.json). Рекомендуется поддерживать надежное зашифрованное подключение к серверу.

Снимок экрана: графический интерфейс Visual Studio Code с запросом на сертификат сервера доверия.

Для пользователей, подключающихся к База данных SQL Azure, изменения существующих сохраненных подключений не требуются; База данных SQL Azure поддерживает зашифрованные подключения и настраивается с доверенными сертификатами.

Для пользователей, подключающихся к локальному SQL Server или SQL Server на виртуальной машине, если для encrypt задано значение True, убедитесь, что у вас есть сертификат из доверенного центра сертификации (например, не самозаверяющий сертификат). Кроме того, можно подключиться без шифрования (шифрование имеет значение False) или доверять сертификату сервера (для сертификата сервера шифрования задано значение True и trust server certificate set to True).

Создание базы данных

  1. В новом файле SQL, открытом ранее, введите sql, чтобы получить список редактируемых фрагментов кода.

    Снимок экрана: редактор в Visual Studio Code, фрагменты кода SQL.

  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. Просмотрите результаты в окне запроса.

    Снимок экрана: Visual Studio Code, создание сообщений базы данных.

    Совет

    Сочетания клавиш для команд mssql можно настроить. См. статью Customize Shortcuts (Настройка сочетаний клавиш).

Создание таблицы

  1. Удалите содержимое в окне редактора кода.

  2. Нажмите клавиши CTRL+SHIFT+P или F1, чтобы открыть палитру команд.

  3. Введите sql, чтобы отобразить команды mssql, или введите sqluse, а затем выберите команду MS SQL: использовать базу данных.

  4. Выберите новую базу данных TutorialDB.

    Снимок экрана: Visual Studio Code, выбор базы данных.

  5. В редакторе кода введите sql, чтобы отобразить фрагменты кода, выберите фрагмент sqlCreateTable и нажмите клавишу ВВОД.

  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
    

    В процессе ввода технология IntelliSense для T-SQL помогает завершать инструкции:

    Снимок экрана: Visual Studio Code, T-SQL IntelliSense.

    Совет

    Расширение mssql также предоставляет команды, помогающие создавать инструкции INSERT и SELECT. В предыдущем примере они не использовались.

  2. Нажмите клавиши CTRL+SHIFT+E, чтобы выполнить команды. В окне Результаты отобразятся два результирующих набора.

    Снимок экрана: Visual Studio Code, область результатов.

Просмотр и сохранение результата

  1. Выберите пункты Вид>Макет редактора>Перевернуть макет, чтобы выбрать макет с вертикальным или горизонтальным разбиением.

  2. Чтобы свернуть или развернуть панели Результаты и Сообщение, щелкните их заголовки.

    Снимок экрана: Visual Studio Code, переключатель заголовков.

    Совет

    Поведение по умолчанию расширения mssql можно настроить. См. статью Customize extension options (Настройка параметров расширения).

  3. Щелкните значок увеличения сетки во второй сетке результатов, чтобы увеличить масштаб.

    Снимок экрана: Visual Studio Code, развертывание сетки.

    Примечание.

    Значок увеличения отображается, если скрипт T-SQL создает две или несколько сеток результатов.

  4. Откройте контекстное меню сетки, щелкнув ее правой кнопкой мыши.

    Снимок экрана: Visual Studio Code, контекстное меню.

  5. Выберите команду Выбрать все.

  6. Снова откройте контекстное меню сетки и выберите команду Сохранить как JSON, чтобы сохранить результат в файле JSON.

  7. Укажите имя файла JSON.

  8. Убедитесь в том, что файл JSON сохранился и открывается в Visual Studio Code.

    Снимок экрана: редактор в Visual Studio Code, сохранение в формате JSON.

Если скрипт SQL может потребоваться позднее для администрирования или более крупного проекта разработки, сохраните его с расширением SQL.