Visual Studio Code용 SQL Server 확장

적용 대상: SQL Server Azure SQL 데이터베이스Azure SQL Managed InstanceAzure Synapse 분석

이 문서에서는 Visual Studio Code의 mssql 확장을 사용하여 SQL Server on Windows, macOS, Linux의 데이터베이스뿐 아니라 Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics의 데이터베이스를 활용하는 방법을 보여 줍니다. Visual Studio Code mssql 확장을 사용하면 SQL Server에 연결하고 T-SQL(Transact-SQL)을 사용하여 쿼리한 다음, 결과를 볼 수 있습니다.

SQL 파일 만들기 또는 열기

mssql 확장은 언어 모드가 SQL로 설정된 경우 코드 편집기에서 mssql 명령과 T-SQL IntelliSense를 사용하도록 설정합니다.

  1. 파일>새 파일을 선택하거나 Ctrl+N을 누릅니다. Visual Studio Code는 기본적으로 새 일반 텍스트 파일을 엽니다.

  2. 아래쪽 상태 표시줄에서 일반 텍스트를 선택하거나, Ctrl+K>M을 누르고 언어 드롭다운에서 SQL을 선택합니다.

    Visual Studio Code GUI, SQL 언어 모드의 스크린샷

    참고

    확장을 처음 사용하는 경우 확장은 백그라운드에서 SQL Tools Service 를 설치합니다.

.sql 파일 확장명을 가진 기존 파일을 열면 언어 모드가 자동으로 SQL로 설정됩니다.

SQL Server에 연결

연결 프로필을 만들고 SQL Server에 연결하려면 다음 단계를 수행합니다.

  1. Ctrl+Shift+P 또는 F1 키를 눌러 명령 팔레트를 엽니다.

  2. sql을 입력하여 mssql 명령을 표시하거나, sqlcon을 입력한 후 드롭다운에서 MS SQL: 연결을 선택합니다.

    Visual Studio Code GUI, mssql 명령의 스크린샷

    참고

    사용자가 만든 빈 SQL 파일 등의 SQL 파일은 코드 편집기에서 포커스가 있어야 mssql 명령을 실행할 수 있습니다.

  3. MS SQL: 연결 프로필 관리 명령을 선택합니다.

  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. 아래쪽 상태 표시줄에서 연결을 확인합니다.

    Visual Studio Code GUI, 연결 상태의 스크린샷

이전 단계 대신 사용자 설정 파일(settings.json)에서 연결 프로필을 만들고 편집할 수도 있습니다. 설정 파일을 열려면 파일>기본 설정>설정을 선택합니다. 자세한 내용은 연결 프로필 관리를 참조하세요.

서버 인증서 암호화 및 신뢰

VS Code v1.17.0 이상용 mssql 확장에는 이제 MSSQL 공급자 연결에 대해 기본적으로 사용하도록 설정(True로 설정됨)되는 Encrypt 속성에 대한 중요한 변경 내용이 포함되며, SQL Server 신뢰할 수 있는 루트 인증 기관에서 서명한 TLS 인증서로 구성해야 합니다. 또한 암호화 사용(기본값)으로 초기 연결 시도가 실패하는 경우 mssql 확장은 보안 서버 인증서를 사용하도록 설정된 연결을 시도하는 옵션이 포함된 알림 프롬프트를 제공합니다. 암호화 및 신뢰 서버 인증서 속성은 사용자 설정 파일 (settings.json)에서 수동으로 편집할 수도 있습니다. 모범 사례는 서버에 대한 신뢰할 수 있는 암호화된 연결을 지원하는 것입니다.

Visual Studio Code 서버 인증서에 대한 프롬프트가 있는 알림의 스크린샷

Azure SQL Database에 연결하는 사용자의 경우 기존 저장된 연결에 대한 변경이 필요하지 않습니다. Azure SQL Database는 암호화된 연결을 지원하며 신뢰할 수 있는 인증서로 구성됩니다.

온-프레미스 SQL Server 연결하는 사용자나 가상 머신에 있는 SQL Server의 경우 Encrypt가 True로 설정된 경우 신뢰할 수 있는 인증 기관(예: 자체 서명된 인증서가 아님)의 인증서가 있는지 확인합니다. 또는 암호화 없이 연결하거나(암호화가 False로 설정) 서버 인증서를 신뢰하도록 선택할 수 있습니다(암호화는 True로 설정되고 신뢰 서버 인증서는 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 코드 GUI, 데이터베이스 메시지 만들기의 스크린샷

    mssql 명령의 바로 가기 키를 사용자 지정할 수 있습니다. 바로 가기 사용자 지정을 참조하세요.

테이블 만들기

  1. 코드 편집기 창의 내용을 삭제합니다.

  2. Ctrl+Shift+P 또는 F1 키를 눌러 명령 팔레트를 엽니다.

  3. sql을 입력하여 mssql 명령을 표시하거나, sqluse를 입력한 후 MS SQL: 데이터베이스 사용 명령을 선택합니다.

  4. TutorialDB 데이터베이스를 선택합니다.

    Visual Studio 코드 GUI, 데이터베이스 선택의 스크린샷

  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 테이블에 행 4개를 삽입합니다.

    -- 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에서 문을 완성할 수 있도록 지원합니다.

    Visual Studio Code UI, T-SQL IntelliSense의 스크린샷

    mssql 확장에는 INSERT 및 SELECT 문을 만드는 데 도움이 되는 명령도 있습니다. 이 명령은 앞의 예제에서 사용되지 않았습니다.

  2. Ctrl+Shift+E를 눌러 명령을 실행합니다. 결과 창에 두 개의 결과 집합이 표시됩니다.

    Visual Studio Code UI, 결과 창의 스크린샷

결과 보기 및 저장

  1. 보기>편집기 레이아웃>레이아웃 대칭 이동을 선택하여 세로 또는 가로 분할 레이아웃으로 전환합니다.

  2. 결과메시지 패널 헤더를 선택하여 패널을 축소하거나 확장합니다.

    Visual Studio Code UI, 머리글 설정/해제의 스크린샷

    mssql 확장의 기본 동작을 사용자 지정할 수 있습니다. 확장 옵션 사용자 지정을 참조하세요.

  3. 두 번째 결과 그리드에서 그리드 최대화 아이콘을 선택하여 해당 결과를 확대합니다.

    Visual Studio Code UI, 그리드 최대화의 스크린샷

    참고

    T-SQL 스크립트에서 두 개 이상의 결과 그리드를 생성하면 최대화 아이콘이 표시됩니다.

  4. 그리드를 마우스 오른쪽 단추로 클릭하여 그리드 상황에 맞는 메뉴를 엽니다.

    Visual Studio Code UI, 바로 가기 메뉴의 스크린샷

  5. 모두 선택을 선택합니다.

  6. 그리드 상황에 맞는 메뉴를 다시 열고 JSON으로 저장을 선택하여 결과를 .json 파일에 저장합니다.

  7. JSON 파일의 파일 이름을 지정합니다.

  8. JSON 파일이 저장되고 Visual Studio Code에서 열리는지 확인합니다.

    Visual Studio Code UI, JSON으로 저장의 스크린샷

나중에 관리 또는 대규모 개발 프로젝트를 위해 SQL 스크립트를 저장하고 실행해야 하는 경우 스크립트를 .sql 확장명으로 저장합니다.

다음 단계