빠른 시작: Ubuntu에 SQL Server 설치 및 데이터베이스 만들기

적용 대상:yesSQL Server(지원되는 모든 버전) - Linux

이 빠른 시작에서는 Ubuntu 18.04에 SQL Server 2017(14.x)를 설치합니다. 그런 다음 sqlcmd를 연결하여 첫 번째 데이터베이스를 만들고 쿼리를 실행합니다.

지원되는 플랫폼에 대한 자세한 내용은 SQL Server 2017 on Linux 릴리스 정보를 참조하세요.

이 자습서를 사용하려면 사용자 입력과 인터넷 연결이 필요합니다. 무인 또는 오프라인 설치 절차에 관심이 있는 경우 SQL Server on Linux 설치 지침을 참조하세요.

필수 구성 요소

최소 2GB의 메모리를 포함하는 Ubuntu 18.04 머신이 있어야 합니다.

고유한 머신에 Ubuntu 18.04를 설치하려면 https://releases.ubuntu.com/18.04/으로 이동합니다. Azure에서 Ubuntu 가상 머신을 만들 수도 있습니다. Azure CLI를 사용하여 Linux VM 만들기 및 관리를 참조하세요.

이전에 SQL Server의 CTP(커뮤니티 기술 미리보기) 또는 릴리스 후보(RC)를 설치한 경우 다음 단계를 수행하기 전에 이전 리포지토리를 제거해야 합니다. 자세한 내용은 SQL Server에 대한 Linux 리포지토리 구성을 참조하세요.

Linux용 Windows 하위 시스템은 SQL Server 설치 대상으로 지원되지 않습니다.

기타 시스템 요구 사항은 SQL Server on Linux에 대한 시스템 요구 사항을 참조하세요.

SQL Server 설치

Ubuntu에서 SQL Server을 구성하려면 터미널에서 다음 명령을 실행하여 mssql-server 패키지를 설치합니다.

  1. 공용 리포지토리 GPG 키를 가져옵니다.

    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. SQL Server Ubuntu 리포지토리를 등록합니다.

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2017.list)"
    

    다른 버전의 SQL Server 설치하려면 이 문서의 SQL Server 2019(15.x) 또는 SQL Server 2022(16.x) 미리보기 버전을 참조하세요.

  3. 다음 명령을 실행하여 SQL Server를 설치합니다.

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  4. 패키지 설치가 완료되면 mssql-conf setup을 실행하고, 프롬프트에 따라 SA 암호를 설정하고, 버전을 선택합니다. 다시 말씀드리지만, 다음 SQL Server 버전은 체험용 라이선스인 Evaluation, Developer 및 Express로 제공됩니다.

    sudo /opt/mssql/bin/mssql-conf setup
    

    SA 계정에 대한 강력한 암호를 지정해야 합니다. 대문자와 소문자, 0~9의 숫자 및/또는 영숫자가 아닌 기호를 포함하여 최소 길이 8자가 필요합니다.

  5. 구성이 완료되면 서비스가 실행 중인지 확인합니다.

    systemctl status mssql-server --no-pager
    
  6. 원격으로 연결하려면 방화벽에서 SQL Server TCP 포트(기본값 1433)를 열어야 할 수도 있습니다.

이제 SQL Server는 Ubuntu 머신에서 실행 중이며 사용할 준비가 되었습니다.

이 빠른 시작에서는 Ubuntu 20.04에 SQL Server 2019(15.x)를 설치합니다. 그런 다음 sqlcmd를 연결하여 첫 번째 데이터베이스를 만들고 쿼리를 실행합니다.

지원되는 플랫폼에 대한 자세한 내용은 SQL Server 2019 on Linux 릴리스 정보를 참조하세요.

이 자습서를 사용하려면 사용자 입력과 인터넷 연결이 필요합니다. 무인 또는 오프라인 설치 절차에 관심이 있는 경우 SQL Server on Linux 설치 지침을 참조하세요.

필수 구성 요소

최소 2GB의 메모리를 포함하는 Ubuntu 20.04 머신이 있어야 합니다.

고유한 머신에 Ubuntu 20.04를 설치하려면 https://releases.ubuntu.com/20.04/로 이동합니다. Azure에서 Ubuntu 가상 머신을 만들 수도 있습니다. Azure CLI를 사용하여 Linux VM 만들기 및 관리를 참조하세요.

Linux용 Windows 하위 시스템은 SQL Server 설치 대상으로 지원되지 않습니다.

기타 시스템 요구 사항은 SQL Server on Linux에 대한 시스템 요구 사항을 참조하세요.

SQL Server 설치

Ubuntu에서 SQL Server을 구성하려면 터미널에서 다음 명령을 실행하여 mssql-server 패키지를 설치합니다.

  1. 공용 리포지토리 GPG 키를 가져옵니다.

    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. SQL Server Ubuntu 리포지토리를 등록합니다.

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
    

    다른 버전의 SQL Server 설치하려면 이 문서의 SQL Server 2017(14.x) 또는 SQL Server 2022(16.x) 미리보기 버전을 참조하세요.

  3. 다음 명령을 실행하여 SQL Server를 설치합니다.

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  4. 패키지 설치가 완료되면 mssql-conf setup을 실행하고, 프롬프트에 따라 SA 암호를 설정하고, 버전을 선택합니다. 다시 말씀드리지만, 다음 SQL Server 버전은 체험용 라이선스인 Evaluation, Developer 및 Express로 제공됩니다.

    sudo /opt/mssql/bin/mssql-conf setup
    

    SA 계정에 대한 강력한 암호를 지정해야 합니다. 대문자와 소문자, 0~9의 숫자 및/또는 영숫자가 아닌 기호를 포함하여 최소 길이 8자가 필요합니다.

  5. 구성이 완료되면 서비스가 실행 중인지 확인합니다.

    systemctl status mssql-server --no-pager
    
  6. 원격으로 연결하려면 방화벽에서 SQL Server TCP 포트(기본값 1433)를 열어야 할 수도 있습니다.

이제 SQL Server는 Ubuntu 머신에서 실행 중이며 사용할 준비가 되었습니다.

이 빠른 시작에서는 Ubuntu 20.04에 SQL Server 2022(16.x) 미리 보기를 설치합니다. 그런 다음 sqlcmd를 연결하여 첫 번째 데이터베이스를 만들고 쿼리를 실행합니다.

지원되는 플랫폼에 대한 자세한 내용은 SQL Server 2022(16.x) 미리보기 on Linux 릴리스 정보를 참조하세요.

이 자습서를 사용하려면 사용자 입력과 인터넷 연결이 필요합니다. 무인 또는 오프라인 설치 절차에 관심이 있는 경우 SQL Server on Linux 설치 지침을 참조하세요.

필수 구성 요소

최소 2GB의 메모리를 포함하는 Ubuntu 20.04 머신이 있어야 합니다.

고유한 머신에 Ubuntu 20.04를 설치하려면 https://releases.ubuntu.com/20.04/로 이동합니다. Azure에서 Ubuntu 가상 머신을 만들 수도 있습니다. Azure CLI를 사용하여 Linux VM 만들기 및 관리를 참조하세요.

Linux용 Windows 하위 시스템은 SQL Server 설치 대상으로 지원되지 않습니다.

기타 시스템 요구 사항은 SQL Server on Linux에 대한 시스템 요구 사항을 참조하세요.

SQL Server 설치

Ubuntu에서 SQL Server을 구성하려면 터미널에서 다음 명령을 실행하여 mssql-server 패키지를 설치합니다.

  1. 공용 리포지토리 GPG 키를 가져옵니다.

    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. SQL Server Ubuntu 리포지토리를 등록합니다.

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-preview.list)"
    

    다른 버전의 SQL Server를 설치하려면 이 문서의 SQL Server 2017(14.x) 또는 SQL Server 2019(15.x) 버전을 참조하세요.

  3. 다음 명령을 실행하여 SQL Server를 설치합니다.

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  4. 패키지 설치가 완료되면 mssql-conf setup을 실행하고, 프롬프트에 따라 SA 암호를 설정하고, 버전을 선택합니다. 다시 말씀드리지만, 다음 SQL Server 버전은 체험용 라이선스인 Evaluation, Developer 및 Express로 제공됩니다.

    sudo /opt/mssql/bin/mssql-conf setup
    

    SA 계정에 대한 강력한 암호를 지정해야 합니다. 대문자와 소문자, 0~9의 숫자 및/또는 영숫자가 아닌 기호를 포함하여 최소 길이 8자가 필요합니다.

  5. 구성이 완료되면 서비스가 실행 중인지 확인합니다.

    systemctl status mssql-server --no-pager
    
  6. 원격으로 연결하려면 방화벽에서 SQL Server TCP 포트(기본값 1433)를 열어야 할 수도 있습니다.

이제 SQL Server는 Ubuntu 머신에서 실행 중이며 사용할 준비가 되었습니다.

SQL Server 명령줄 도구 설치

데이터베이스를 만들려면 SQL Server에서 Transact-SQL 문을 실행할 수 있는 도구와 연결해야 합니다. 다음 단계에서는 SQL Server 명령줄 도구인sqlcmdbcp를 설치합니다.

다음 단계에 따라 Ubuntu에 mssql-tools를 설치합니다. curl이 설치되지 않은 경우 다음 코드를 실행할 수 있습니다.

sudo apt-get update 
sudo apt install curl 
  1. 공용 리포지토리 GPG 키를 가져옵니다.

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. Ubuntu 리포지토리를 등록합니다.

    curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    
  3. 원본 목록을 업데이트하고 unixODBC 개발자 패키지를 사용하여 설치 명령을 실행합니다. 자세한 내용은 Microsoft ODBC Driver for SQL Server(Linux) 설치를 참조하세요.

    sudo apt-get update 
    sudo apt-get install mssql-tools unixodbc-dev
    

    다음 명령을 사용하여 최신 버전의 mssql-tools로 업데이트할 수 있습니다.

    sudo apt-get update 
    sudo apt-get install mssql-tools 
    
  4. 편의를 위해 환경 변수에 /opt/mssql-tools/bin/ 추가하여 PATH bash 셸에서 sqlcmd 또는 bcp에 액세스할 수 있도록 합니다.

    대화형 세션의 경우 다음 명령을 사용하여 ~/.bash_profile 파일의 PATH 환경 변수를 수정합니다.

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    

    비대화형 세션의 경우 다음 명령을 사용하여 ~/.bashrc 파일의 PATH 환경 변수를 수정합니다.

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    source ~/.bashrc
    

로컬로 연결

다음 단계에서는 sqlcmd를 사용하여 새 SQL Server 인스턴스에 로컬로 연결합니다.

  1. sqlcmd를 SQL Server 이름(-S), 사용자 이름(-U) 및 암호(-P)의 매개 변수를 사용하여 실행합니다. 이 자습서에서는 로컬로 연결하므로 서버 이름은 localhost입니다. 사용자 이름은 sa이고 암호는 설치할 때 SA 계정에 지정한 암호입니다.

    sqlcmd -S localhost -U sa -P '<YourPassword>'
    

    명령줄에서 암호를 생략하여 입력하라는 메시지가 표시되도록 할 수 있습니다.

    나중에 원격으로 연결하려는 경우 -S 매개 변수에 컴퓨터 이름 또는 IP 주소를 지정하고 방화벽에서 포트 1433이 열려 있는지 확인합니다.

  2. 성공하면 sqlcmd 명령 프롬프트 1>이 표시됩니다.

  3. 연결 오류가 발생하는 경우 먼저 오류 메시지에서 문제를 진단합니다. 그런 다음 connection troubleshooting recommendations(연결 문제 해결 권장 사항)를 검토합니다.

데이터 만들기 및 쿼리

다음 섹션에서는 sqlcmd를 사용하여 새 데이터베이스를 만들고, 데이터를 추가하고, 간단한 쿼리를 실행하는 단계를 안내합니다.

Transact-SQL 문 및 쿼리를 작성하는 방법에 대한 자세한 내용은 자습서: TRANSACT-SQL 문 작성을 참조하세요.

새 데이터베이스 만들기

다음 단계에서는 TestDB라는 새 데이터베이스를 만듭니다.

  1. sqlcmd 명령 프롬프트에서 다음 Transact-SQL 명령을 붙여넣어 테스트 데이터베이스를 만듭니다.

    CREATE DATABASE TestDB;
    
  2. 다음 줄에 서버에 있는 모든 데이터베이스의 이름을 반환하는 쿼리를 작성합니다.

    SELECT Name from sys.databases;
    
  3. 앞의 두 명령은 즉시 실행되지 않았습니다. 앞의 명령을 실행하려면 새 줄에 GO를 입력해야 합니다.

    GO
    

데이터 삽입

다음으로 새 테이블 dbo.Inventory를 만들고 두 개의 새 행을 삽입합니다.

  1. sqlcmd 명령 프롬프트에서 컨텍스트를 새 TestDB 데이터베이스로 전환합니다.

    USE TestDB;
    
  2. dbo.Inventory라는 새 테이블을 만듭니다.

    CREATE TABLE dbo.Inventory (
       id INT, name NVARCHAR(50),
       quantity INT
    );
    
  3. 새 테이블에 데이터를 삽입합니다.

    INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
    INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
    
  4. GO를 입력하여 앞의 명령을 실행합니다.

    GO
    

데이터 선택

이제 쿼리를 실행하여 dbo.Inventory 테이블에서 데이터를 반환합니다.

  1. sqlcmd 명령 프롬프트에서 dbo.Inventory 테이블에서 수량이 152보다 큰 행을 반환하는 쿼리를 입력합니다.

    SELECT * FROM dbo.Inventory
    WHERE quantity > 152;
    
  2. 다음 명령을 실행합니다.

    GO
    

sqlcmd 명령 프롬프트 종료

sqlcmd 세션을 종료하려면 QUIT를 입력합니다.

QUIT

성능 모범 사례

Linux에 SQL Server를 설치한 후에는 프로덕션 시나리오에 대한 성능을 향상시키도록 Linux 및 SQL Server를 구성하기 위한 모범 사례를 검토하세요. 자세한 내용은 SQL Server on Linux의 성능 모범 사례 및 구성 지침을 참조하세요.

플랫폼 간 데이터 도구

sqlcmd 외에도 다음과 같은 플랫폼 간 도구를 사용하여 SQL Server를 관리할 수 있습니다.

도구 설명
Azure Data Studio 플랫폼 간 GUI 데이터베이스 관리 유틸리티입니다.
Visual Studio Code mssql 확장을 사용하여 Transact-SQL 문을 실행하는 플랫폼 간 GUI 코드 편집기입니다.
PowerShell Core cmdlet을 기준으로 하는 플랫폼 간 자동화 및 구성 도구입니다.
mssql-cli Transact-SQL 명령을 실행하기 위한 플랫폼 간 명령줄 인터페이스입니다.

Windows에서 연결

Windows의 SQL Server 도구는 원격 SQL Server 인스턴스에 연결할 때와 동일하게 Linux의 SQL Server 인스턴스에 연결합니다.

Linux 컴퓨터에 연결할 수 있는 Windows 컴퓨터가 있는 경우 이 항목의 단계와 동일하게 Windows 명령 프롬프트에서 sqlcmd를 실행해 보세요. localhost대신 대상 Linux 컴퓨터 이름이나 IP 주소를 사용하고 SQL Server 컴퓨터에 TCP 포트 1433이 열려 있는지 확인해야 합니다. Windows에서 연결하는 데 문제가 있는 경우 connection troubleshooting recommendations(연결 문제 해결 권장 사항)를 참조하세요.

Windows에서 실행하지만 Linux의 SQL Server에 연결하는 다른 도구는 다음을 참조하세요.

기타 배포 시나리오

다른 설치 시나리오의 경우 다음 리소스를 참조하세요.

  • 업그레이드: Linux에서 SQL Server의 기존 설치를 업그레이드하는 방법 알아보기
  • 제거: Linux에서 SQL Server 제거
  • 무인 설치: 확인 메시지를 표시하지 않고 설치를 스크립팅하는 방법을 알아봅니다.
  • 오프라인 설치: 오프라인 설치에 대한 패키지를 수동으로 다운로드하는 방법을 알아봅니다.

질문과 대답은 SQL Server on Linux FAQ를 참조하세요.

다음 단계

  1. 공용 리포지토리 GPG 키를 가져옵니다.

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. Ubuntu 리포지토리를 등록합니다.

    curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    
  3. 원본 목록을 업데이트하고 unixODBC 개발자 패키지를 사용하여 설치 명령을 실행합니다. 자세한 내용은 Microsoft ODBC Driver for SQL Server(Linux) 설치를 참조하세요.

    sudo apt-get update 
    sudo apt-get install mssql-tools unixodbc-dev
    

    다음 명령을 사용하여 최신 버전의 mssql-tools로 업데이트할 수 있습니다.

    sudo apt-get update 
    sudo apt-get install mssql-tools 
    
  4. 편의를 위해 환경 변수에 /opt/mssql-tools/bin/ 추가하여 PATH bash 셸에서 sqlcmd 또는 bcp에 액세스할 수 있도록 합니다.

    대화형 세션의 경우 다음 명령을 사용하여 ~/.bash_profile 파일의 PATH 환경 변수를 수정합니다.

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    

    비대화형 세션의 경우 다음 명령을 사용하여 ~/.bashrc 파일의 PATH 환경 변수를 수정합니다.

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    source ~/.bashrc
    

로컬로 연결

다음 단계에서는 sqlcmd를 사용하여 새 SQL Server 인스턴스에 로컬로 연결합니다.

  1. sqlcmd를 SQL Server 이름(-S), 사용자 이름(-U) 및 암호(-P)의 매개 변수를 사용하여 실행합니다. 이 자습서에서는 로컬로 연결하므로 서버 이름은 localhost입니다. 사용자 이름은 sa이고 암호는 설치할 때 SA 계정에 지정한 암호입니다.

    sqlcmd -S localhost -U sa -P '<YourPassword>'
    

    명령줄에서 암호를 생략하여 입력하라는 메시지가 표시되도록 할 수 있습니다.

    나중에 원격으로 연결하려는 경우 -S 매개 변수에 컴퓨터 이름 또는 IP 주소를 지정하고 방화벽에서 포트 1433이 열려 있는지 확인합니다.

  2. 성공하면 sqlcmd 명령 프롬프트 1>이 표시됩니다.

  3. 연결 오류가 발생하는 경우 먼저 오류 메시지에서 문제를 진단합니다. 그런 다음 connection troubleshooting recommendations(연결 문제 해결 권장 사항)를 검토합니다.

데이터 만들기 및 쿼리

다음 섹션에서는 sqlcmd를 사용하여 새 데이터베이스를 만들고, 데이터를 추가하고, 간단한 쿼리를 실행하는 단계를 안내합니다.

Transact-SQL 문 및 쿼리를 작성하는 방법에 대한 자세한 내용은 자습서: TRANSACT-SQL 문 작성을 참조하세요.

새 데이터베이스 만들기

다음 단계에서는 TestDB라는 새 데이터베이스를 만듭니다.

  1. sqlcmd 명령 프롬프트에서 다음 Transact-SQL 명령을 붙여넣어 테스트 데이터베이스를 만듭니다.

    CREATE DATABASE TestDB;
    
  2. 다음 줄에 서버에 있는 모든 데이터베이스의 이름을 반환하는 쿼리를 작성합니다.

    SELECT Name from sys.databases;
    
  3. 앞의 두 명령은 즉시 실행되지 않았습니다. 앞의 명령을 실행하려면 새 줄에 GO를 입력해야 합니다.

    GO
    

데이터 삽입

다음으로 새 테이블 dbo.Inventory를 만들고 두 개의 새 행을 삽입합니다.

  1. sqlcmd 명령 프롬프트에서 컨텍스트를 새 TestDB 데이터베이스로 전환합니다.

    USE TestDB;
    
  2. dbo.Inventory라는 새 테이블을 만듭니다.

    CREATE TABLE dbo.Inventory (
       id INT, name NVARCHAR(50),
       quantity INT
    );
    
  3. 새 테이블에 데이터를 삽입합니다.

    INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
    INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
    
  4. GO를 입력하여 앞의 명령을 실행합니다.

    GO
    

데이터 선택

이제 쿼리를 실행하여 dbo.Inventory 테이블에서 데이터를 반환합니다.

  1. sqlcmd 명령 프롬프트에서 dbo.Inventory 테이블에서 수량이 152보다 큰 행을 반환하는 쿼리를 입력합니다.

    SELECT * FROM dbo.Inventory
    WHERE quantity > 152;
    
  2. 다음 명령을 실행합니다.

    GO
    

sqlcmd 명령 프롬프트 종료

sqlcmd 세션을 종료하려면 QUIT를 입력합니다.

QUIT

성능 모범 사례

Linux에 SQL Server를 설치한 후에는 프로덕션 시나리오에 대한 성능을 향상시키도록 Linux 및 SQL Server를 구성하기 위한 모범 사례를 검토하세요. 자세한 내용은 SQL Server on Linux의 성능 모범 사례 및 구성 지침을 참조하세요.

플랫폼 간 데이터 도구

sqlcmd 외에도 다음과 같은 플랫폼 간 도구를 사용하여 SQL Server를 관리할 수 있습니다.

도구 설명
Azure Data Studio 플랫폼 간 GUI 데이터베이스 관리 유틸리티입니다.
Visual Studio Code mssql 확장을 사용하여 Transact-SQL 문을 실행하는 플랫폼 간 GUI 코드 편집기입니다.
PowerShell Core cmdlet을 기준으로 하는 플랫폼 간 자동화 및 구성 도구입니다.
mssql-cli Transact-SQL 명령을 실행하기 위한 플랫폼 간 명령줄 인터페이스입니다.

Windows에서 연결

Windows의 SQL Server 도구는 원격 SQL Server 인스턴스에 연결할 때와 동일하게 Linux의 SQL Server 인스턴스에 연결합니다.

Linux 컴퓨터에 연결할 수 있는 Windows 컴퓨터가 있는 경우 이 항목의 단계와 동일하게 Windows 명령 프롬프트에서 sqlcmd를 실행해 보세요. localhost대신 대상 Linux 컴퓨터 이름이나 IP 주소를 사용하고 SQL Server 컴퓨터에 TCP 포트 1433이 열려 있는지 확인해야 합니다. Windows에서 연결하는 데 문제가 있는 경우 connection troubleshooting recommendations(연결 문제 해결 권장 사항)를 참조하세요.

Windows에서 실행하지만 Linux의 SQL Server에 연결하는 다른 도구는 다음을 참조하세요.

기타 배포 시나리오

다른 설치 시나리오의 경우 다음 리소스를 참조하세요.

  • 업그레이드: Linux에서 SQL Server의 기존 설치를 업그레이드하는 방법 알아보기
  • 제거: Linux에서 SQL Server 제거
  • 무인 설치: 확인 메시지를 표시하지 않고 설치를 스크립팅하는 방법을 알아봅니다.
  • 오프라인 설치: 오프라인 설치에 대한 패키지를 수동으로 다운로드하는 방법을 알아봅니다.

질문과 대답은 SQL Server on Linux FAQ를 참조하세요.

다음 단계

  1. 공용 리포지토리 GPG 키를 가져옵니다.

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. Ubuntu 리포지토리를 등록합니다.

    curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    
  3. 원본 목록을 업데이트하고 unixODBC 개발자 패키지를 사용하여 설치 명령을 실행합니다. 자세한 내용은 Microsoft ODBC Driver for SQL Server(Linux) 설치를 참조하세요.

    sudo apt-get update 
    sudo apt-get install mssql-tools unixodbc-dev
    

    다음 명령을 사용하여 최신 버전의 mssql-tools로 업데이트할 수 있습니다.

    sudo apt-get update 
    sudo apt-get install mssql-tools 
    
  4. 편의를 위해 환경 변수에 /opt/mssql-tools/bin/ 추가하여 PATH bash 셸에서 sqlcmd 또는 bcp에 액세스할 수 있도록 합니다.

    대화형 세션의 경우 다음 명령을 사용하여 ~/.bash_profile 파일의 PATH 환경 변수를 수정합니다.

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    

    비대화형 세션의 경우 다음 명령을 사용하여 ~/.bashrc 파일의 PATH 환경 변수를 수정합니다.

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    source ~/.bashrc
    

로컬로 연결

다음 단계에서는 sqlcmd를 사용하여 새 SQL Server 인스턴스에 로컬로 연결합니다.

  1. sqlcmd를 SQL Server 이름(-S), 사용자 이름(-U) 및 암호(-P)의 매개 변수를 사용하여 실행합니다. 이 자습서에서는 로컬로 연결하므로 서버 이름은 localhost입니다. 사용자 이름은 sa이고 암호는 설치할 때 SA 계정에 지정한 암호입니다.

    sqlcmd -S localhost -U sa -P '<YourPassword>'
    

    명령줄에서 암호를 생략하여 입력하라는 메시지가 표시되도록 할 수 있습니다.

    나중에 원격으로 연결하려는 경우 -S 매개 변수에 컴퓨터 이름 또는 IP 주소를 지정하고 방화벽에서 포트 1433이 열려 있는지 확인합니다.

  2. 성공하면 sqlcmd 명령 프롬프트 1>이 표시됩니다.

  3. 연결 오류가 발생하는 경우 먼저 오류 메시지에서 문제를 진단합니다. 그런 다음 connection troubleshooting recommendations(연결 문제 해결 권장 사항)를 검토합니다.

데이터 만들기 및 쿼리

다음 섹션에서는 sqlcmd를 사용하여 새 데이터베이스를 만들고, 데이터를 추가하고, 간단한 쿼리를 실행하는 단계를 안내합니다.

Transact-SQL 문 및 쿼리를 작성하는 방법에 대한 자세한 내용은 자습서: TRANSACT-SQL 문 작성을 참조하세요.

새 데이터베이스 만들기

다음 단계에서는 TestDB라는 새 데이터베이스를 만듭니다.

  1. sqlcmd 명령 프롬프트에서 다음 Transact-SQL 명령을 붙여넣어 테스트 데이터베이스를 만듭니다.

    CREATE DATABASE TestDB;
    
  2. 다음 줄에 서버에 있는 모든 데이터베이스의 이름을 반환하는 쿼리를 작성합니다.

    SELECT Name from sys.databases;
    
  3. 앞의 두 명령은 즉시 실행되지 않았습니다. 앞의 명령을 실행하려면 새 줄에 GO를 입력해야 합니다.

    GO
    

데이터 삽입

다음으로 새 테이블 dbo.Inventory를 만들고 두 개의 새 행을 삽입합니다.

  1. sqlcmd 명령 프롬프트에서 컨텍스트를 새 TestDB 데이터베이스로 전환합니다.

    USE TestDB;
    
  2. dbo.Inventory라는 새 테이블을 만듭니다.

    CREATE TABLE dbo.Inventory (
       id INT, name NVARCHAR(50),
       quantity INT
    );
    
  3. 새 테이블에 데이터를 삽입합니다.

    INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
    INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
    
  4. GO를 입력하여 앞의 명령을 실행합니다.

    GO
    

데이터 선택

이제 쿼리를 실행하여 dbo.Inventory 테이블에서 데이터를 반환합니다.

  1. sqlcmd 명령 프롬프트에서 dbo.Inventory 테이블에서 수량이 152보다 큰 행을 반환하는 쿼리를 입력합니다.

    SELECT * FROM dbo.Inventory
    WHERE quantity > 152;
    
  2. 다음 명령을 실행합니다.

    GO
    

sqlcmd 명령 프롬프트 종료

sqlcmd 세션을 종료하려면 QUIT를 입력합니다.

QUIT

성능 모범 사례

Linux에 SQL Server를 설치한 후에는 프로덕션 시나리오에 대한 성능을 향상시키도록 Linux 및 SQL Server를 구성하기 위한 모범 사례를 검토하세요. 자세한 내용은 SQL Server on Linux의 성능 모범 사례 및 구성 지침을 참조하세요.

플랫폼 간 데이터 도구

sqlcmd 외에도 다음과 같은 플랫폼 간 도구를 사용하여 SQL Server를 관리할 수 있습니다.

도구 설명
Azure Data Studio 플랫폼 간 GUI 데이터베이스 관리 유틸리티입니다.
Visual Studio Code mssql 확장을 사용하여 Transact-SQL 문을 실행하는 플랫폼 간 GUI 코드 편집기입니다.
PowerShell Core cmdlet을 기준으로 하는 플랫폼 간 자동화 및 구성 도구입니다.
mssql-cli Transact-SQL 명령을 실행하기 위한 플랫폼 간 명령줄 인터페이스입니다.

Windows에서 연결

Windows의 SQL Server 도구는 원격 SQL Server 인스턴스에 연결할 때와 동일하게 Linux의 SQL Server 인스턴스에 연결합니다.

Linux 컴퓨터에 연결할 수 있는 Windows 컴퓨터가 있는 경우 이 항목의 단계와 동일하게 Windows 명령 프롬프트에서 sqlcmd를 실행해 보세요. localhost대신 대상 Linux 컴퓨터 이름이나 IP 주소를 사용하고 SQL Server 컴퓨터에 TCP 포트 1433이 열려 있는지 확인해야 합니다. Windows에서 연결하는 데 문제가 있는 경우 connection troubleshooting recommendations(연결 문제 해결 권장 사항)를 참조하세요.

Windows에서 실행하지만 Linux의 SQL Server에 연결하는 다른 도구는 다음을 참조하세요.

기타 배포 시나리오

다른 설치 시나리오의 경우 다음 리소스를 참조하세요.

  • 업그레이드: Linux에서 SQL Server의 기존 설치를 업그레이드하는 방법 알아보기
  • 제거: Linux에서 SQL Server 제거
  • 무인 설치: 확인 메시지를 표시하지 않고 설치를 스크립팅하는 방법을 알아봅니다.
  • 오프라인 설치: 오프라인 설치에 대한 패키지를 수동으로 다운로드하는 방법을 알아봅니다.

질문과 대답은 SQL Server on Linux FAQ를 참조하세요.

다음 단계