クイック スタート:Ubuntu に SQL Server をインストールし、データベースを作成する

適用対象: はいSQL Server (サポートされているすべてのバージョン) - Linux

このクイックスタートでは、Ubuntu 16.04 または 18.04 に SQL Server 2017 をインストールします。 次に、sqlcmd と接続して最初のデータベースを作成し、クエリを実行します。

ヒント

このチュートリアルには、ユーザー入力とインターネット接続が必要です。 無人またはオフラインのインストール手順について関心をお持ちの場合は、SQL Server on Linux のインストール ガイダンスに関する記事を参照してください。 サポートされているプラットフォームの一覧については、Microsoft のリリース ノートを参照してください。

このクイックスタートでは、Ubuntu 16.04、18.04、または 20.04 に SQL Server 2019 をインストールします。 次に、sqlcmd と接続して最初のデータベースを作成し、クエリを実行します。

注意

Ubuntu 20.04 は SQL Server 2019 CU10 以降でサポートされています。

ヒント

このチュートリアルには、ユーザー入力とインターネット接続が必要です。 無人またはオフラインのインストール手順について関心をお持ちの場合は、SQL Server on Linux のインストール ガイダンスに関する記事を参照してください。 サポートされているプラットフォームの一覧については、Microsoft のリリース ノートを参照してください。

前提条件

Ubuntu 16.04 または 18.04 マシンには、少なくとも 2 GB のメモリが必要です。

ご自分のマシンに Ubuntu 18.04 をインストールするには、http://releases.ubuntu.com/bionic/ にアクセスします。 Azure で Ubuntu 仮想マシンを作成することもできます。 「Azure CLI を使用した Linux VM の作成と管理」を参照してください。

注意

現時点では、Windows 10 用の Windows Subsystem for Linux はインストール先としてサポートされていません。

他のシステム要件については、SQL Server on Linux のシステム要件に関する記事を参照してください。

注意

Ubuntu 18.04 は SQL Server 2017 CU20 以降でサポートされています。 この記事に記載されている手順を Ubuntu 18.04 で使用する場合は、16.04 ではなく、正しいリポジトリ パス 18.04 を使用するようにしてください。

それより前のバージョンで SQL Server を実行している場合は、変更することで構成できます。

Ubuntu 16.04、18.04、または 20.04 マシンには、少なくとも 2 GB のメモリが必要です。

ご自分のマシンに Ubuntu 20.04 をインストールするには、https://releases.ubuntu.com/20.04/ にアクセスします。 Azure で Ubuntu 仮想マシンを作成することもできます。 「Azure CLI を使用した Linux VM の作成と管理」を参照してください。

注意

現時点では、Windows 10 用の Windows Subsystem for Linux はインストール先としてサポートされていません。

他のシステム要件については、SQL Server on Linux のシステム要件に関する記事を参照してください。

SQL Server をインストールする

注意

SQL Server 2017 の次のコマンドでは、Ubuntu 18.04 のリポジトリが参照されています。 Ubuntu 16.04 を使用している場合は、次のパスを /ubuntu/18.04/ ではなく /ubuntu/16.04/ に変更します。

Ubuntu 上で SQL Server を構成するには、ターミナルで次のコマンドを実行して mssql-server パッケージをインストールします。

  1. パブリック リポジトリの GPG キーをインポートします。

    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. Microsoft SQL Server Ubuntu リポジトリを登録します。

    Ubuntu 16.04 の場合:

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

    Ubuntu 18.04 の場合:

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

    ヒント

    SQL Server 2019 をインストールする場合は、代わりに SQL Server 2019 リポジトリを登録する必要があります。 SQL Server 2019 のインストールには、次のコマンドを使用します。

    Ubuntu 16.04 の場合:

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

    Ubuntu 18.04 の場合:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
    
  3. 次のコマンドを実行して SQL Server をインストールします。

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  4. パッケージのインストールが完了したら、mssql-conf setup を実行し、プロンプトに従って SA パスワードを設定し、エディションを選択します。

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

    ヒント

    次の SQL Server 2017 エディションは無料でライセンスが付与されます。Evaluation、Developer、Express。

    注意

    SA アカウントには必ず強力なパスワードを指定してください (大文字と小文字、10 進数の数字、英数字以外の記号を含む、最小 8 文字の長さ)。

  5. 構成が完了したら、サービスが実行されていることを確認します。

    systemctl status mssql-server --no-pager
    
  6. リモート接続を計画している場合は、必要に応じてファイアウォールで SQL Server の TCP ポート (既定値は 1433) も開きます。

この時点で、SQL Server は Ubuntu マシン上で動作しており、使用する準備ができています。

SQL Server をインストールする

注意

SQL Server 2019 の次のコマンドでは、Ubuntu 20.04 のリポジトリが参照されています。 Ubuntu 18.04 または 16.04 を使用している場合は、次のパスを /ubuntu/20.04/ ではなく /ubuntu/18.04/ または /ubuntu/16.04/ に変更します。

Ubuntu 上で SQL Server を構成するには、ターミナルで次のコマンドを実行して mssql-server パッケージをインストールします。

  1. パブリック リポジトリの GPG キーをインポートします。

    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. SQL Server 2019 用の Microsoft SQL Server Ubuntu リポジトリを登録します。

    Ubuntu 16.04 の場合:

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

    Ubuntu 18.04 の場合:

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

    Ubuntu 20.04 の場合:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
    
  3. 次のコマンドを実行して SQL Server をインストールします。

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  4. パッケージのインストールが完了したら、mssql-conf setup を実行し、プロンプトに従って SA パスワードを設定し、エディションを選択します。

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

    注意

    SA アカウントには必ず強力なパスワードを指定してください (大文字と小文字、10 進数の数字、英数字以外の記号を含む、最小 8 文字の長さ)。

  5. 構成が完了したら、サービスが実行されていることを確認します。

    systemctl status mssql-server --no-pager
    
  6. リモート接続を計画している場合は、必要に応じてファイアウォールで SQL Server の TCP ポート (既定値は 1433) も開きます。

この時点で、SQL Server 2019 は Ubuntu マシン上で動作しており、使用する準備ができています。

SQL Server コマンドライン ツールをインストールする

データベースを作成するには、SQL Server 上で Transact-SQL ステートメントを実行できるツールと接続する必要があります。 次の手順で SQL Server コマンドライン ツールの sqlcmdbcp をインストールします。

次の手順を使用して、Ubuntu に mssql-tools をインストールします。

  1. パブリック リポジトリの GPG キーをインポートします。

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. Microsoft Ubuntu リポジトリを登録します。

    Ubuntu 16.04 の場合:

    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    

    Ubuntu 18.04 の場合:

    curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    

    Ubuntu 20.04 の場合:

    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. 省略可能:bash シェルで PATH 環境変数に /opt/mssql-tools/bin/ を追加します。

    ログイン セッション用に bash シェルから sqlcmd/bcp にアクセスできるようにするには、次のコマンドで ~/.bash_profile ファイルの PATH を変更します。

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

    対話型/非ログイン セッション用に bash シェルから sqlcmd/bcp にアクセスできるようにするには、次のコマンドで ~/.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. 接続エラーが発生した場合は、まずエラー メッセージから問題を診断します。 次に、接続のトラブルシューティングに関する推奨事項を確認します。

データの作成とクエリ

以下のセクションでは、sqlcmd を使用して新しいデータベースを作成し、データを追加して簡単なクエリを実行します。

新しいデータベースの作成

次の手順では、TestDB という名前の新しいデータベースを作成します。

  1. sqlcmd のコマンド プロンプトに次の Transact-SQL コマンドを貼り付け、テスト データベースを作成します。

    CREATE DATABASE TestDB
    
  2. 次の行に、サーバー上のすべてのデータベースの名前を返すクエリを記述します。

    SELECT Name from sys.Databases
    
  3. 前の 2 つのコマンドは、すぐに実行されていません。 前のコマンドを実行するには、新しい行に「GO」と入力する必要があります。

    GO
    

ヒント

Transact-SQL ステートメントおよびクエリの作成の詳細については、「Tutorial: Writing Transact-SQL Statements (チュートリアル: TRANSACT-SQL ステートメントの作成)」を参照してください。

データの挿入

次に、新しいテーブル Inventory を作成し、2 つの新しい行を挿入します。

  1. sqlcmd のコマンド プロンプトで、コンテキストを新しい TestDB データベースに切り替えます。

    USE TestDB
    
  2. Inventory という名前の新しいテーブルを作成します。

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. 新しいテーブルにデータを挿入します。

    INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
    
  4. GO」と入力して前のコマンドを実行します。

    GO
    

データの選択

ここで、Inventory テーブルからデータを返すクエリを実行します。

  1. sqlcmd のコマンド プロンプトで、数量が 152 より大きいInventory テーブルから行を返すクエリを入力します。

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. 次のコマンドを実行します。

    GO
    

sqlcmd コマンド プロンプトの終了

sqlcmd セッションを終了するには、「QUIT」と入力します。

QUIT

パフォーマンスのベスト プラクティス

SQL Server on Linux をインストールしたら、運用シナリオでのパフォーマンスの向上に、Linux と SQL Server の構成のベスト プラクティスを確認してください。 詳細については、「パフォーマンスのベスト プラクティスと SQL Server on Linux の構成ガイドライン」を参照してください。

クロスプラットフォーム データツール

SQL Server の管理には、sqlcmd 以外に次のクロスプラットフォーム ツールを使用できます。

ツール 説明
Azure Data Studio クロスプラットフォームの GUI データベース管理ユーティリティ。
Visual Studio Code Transact-SQL ステートメントを mssql 拡張機能を使用して実行するクロスプラットフォーム GUI コードエディター。
PowerShell Core コマンドレットを使用する、クロスプラットフォームの自動化および構成ツール。
mssql-cli Transact-SQL コマンドを実行するクロスプラットフォーム コマンドライン インターフェイス。

Windows からの接続

Windows 上の SQL Server ツールは、あらゆるリモート SQL Server インスタンスへの接続と同じ方法で Linux 上の SQL Server インスタンスに接続します。

Linux コンピューターに接続できる Windows コンピューターがある場合は、sqlcmd を実行する Windows コマンド プロンプトから、このトピックと同じ手順を試してみてください。 localhost ではなくターゲットの Linux コンピューター名または IP アドレスを使用していることを確認し、TCP ポート 1433 が開いていることを確かめます。 Windows からの接続に問題がある場合は、接続のトラブルシューティングに関する推奨事項を参照してください。

Windows で実行し、Linux 上の SQL Server に接続するその他のツールについては、以下を参照してください。

その他の展開シナリオ

他のインストール シナリオについては、次のリソースを参照してください。

  • アップグレード:Linux 上の SQL Server のアップグレード方法および既存のインストールについて説明する
  • Uninstall:Linux 上の SQL Server をアンインストールする
  • 無人インストール:プロンプトを表示せずにインストールするスクリプトを作成する方法を説明する
  • オフライン インストール:オフライン インストール パッケージを手動でダウンロードする方法を説明する

ヒント

よく寄せられる質問に対する回答については、「SQL Server on Linux に関する FAQ」を参照してください。

次のステップ