次の方法で共有


クイック スタート:SUSE Linux Enterprise Server で SQL Server をインストールし、データベースを作成する

適用対象:SQL Server - Linux

このクイックスタートでは、SQL Server 2017 (14.x) を SUSE Linux Enterprise Server (SLES) v12 にインストールします。 その後、sqlcmd と接続して最初のデータベースを作成し、クエリを実行できます。

サポートされているプラットフォームの詳細については、「Linux 上の SQL Server 2017 のリリース ノート」を参照してください。

このクイック スタートでは、SUSE Linux Enterprise Server (SLES) 15 に SQL Server 2019 (15.x) をインストールします。 その後、sqlcmd と接続して最初のデータベースを作成し、クエリを実行できます。

サポートされているプラットフォームの詳細については、「Linux 上の SQL Server 2019 のリリース ノート」を参照してください。

このクイック スタートでは、SUSE Linux Enterprise Server (SLES) 15 に SQL Server 2022 (16.x) をインストールします。 その後、sqlcmd と接続して最初のデータベースを作成し、クエリを実行できます。

サポートされているプラットフォームの詳細については、「Linux 上の SQL Server 2022 のリリース ノート」を参照してください。

このクイック スタートでは、SUSE Linux Enterprise Server (SLES) 15 に SQL Server 2025 (17.x) Preview をインストールします。 その後、sqlcmd と接続して最初のデータベースを作成し、クエリを実行できます。

サポートされているプラットフォームの詳細については、 SQL Server 2025 Preview on Linux のリリース ノートを参照してください。

ヒント

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

前提条件

SLES v12 SP5 コンピューターには少なくとも 2 GB のメモリが必要です。 ファイル システムは XFS または ext4 である必要があります。 BTRFS などの他のファイル システムはサポートされていません。

少なくとも 2 GB のメモリを備えた SLES 15 (SP6) マシンが必要です。 ファイル システムは XFS または ext4 である必要があります。 BTRFS などの他のファイル システムはサポートされていません。

少なくとも 2 GB のメモリを備えた SLES 15 (SP6) マシンが必要です。 ファイル システムは XFS または ext4 である必要があります。 BTRFS などの他のファイル システムはサポートされていません。

少なくとも 2 GB のメモリを備えた SLES 15 (SP6) マシンが必要です。 ファイル システムは XFS または ext4 である必要があります。 BTRFS などの他のファイル システムはサポートされていません。

自分のコンピューターに SUSE Linux Enterprise Server をインストールする方法については、https://www.suse.com/products/server にお進みください。 Azure Marketplace から既製の SUSE イメージを使用することもできます。 Azure でこれらのイメージを使用する方法については、「Azure CLI を使用して Linux VM を作成および管理する」を参照し、--image SLESの呼び出しでaz vm createを使用します。

SUSE バージョンのサポート期間の詳細については、 https://www.suse.com/lifecycleを参照してください。

以前に SQL Server のコミュニティ テクノロジ プレビュー (CTP) またはリリース候補 (RC) をインストールした場合は、次の手順に従う前に、まず古いリポジトリを削除する必要があります。 詳細については、「SQL Server on Linux のインストールとアップグレードを行うためのリポジトリを構成する」を参照してください。

現在、Windows 10 と Windows 11 用の Linux 用 Windows サブシステムはインストール先としてサポートされていません。

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

SQL Server をインストールする

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

  1. SQL Server 2017 (14.x) SLES リポジトリ構成ファイルをダウンロードします。

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/mssql-server-2017.repo
    

    ヒント

    別のバージョンの SQL Server をインストールする場合は、この記事の SQL Server 2019 (15.x)SQL Server 2022 (16.x)、または SQL Server 2025 (17.x) プレビュー バージョンを参照してください。

  2. リポジトリを最新の情報に更新します。

    sudo zypper --gpg-auto-import-keys refresh
    

    Microsoft パッケージ署名キーがシステムにインストールされていることを確認するには、次のコマンドを使用してインポートします。

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  3. SQL Server をインストールする前に、SUSE カスタマー センターで SUSE Linux Enterprise Server を登録してアクティブ化した後、 デスクトップ アプリケーション モジュールと開発ツール モジュールの両方をアクティブ化する必要があります。 これらのモジュールは、一部の SQL Server パッケージ依存関係に必要です。

  4. これで、SQL Server をインストールする準備ができました。 次のコマンドを実行してSQL Serverをインストールします。

    sudo zypper install -y mssql-server
    
  5. パッケージのインストールが完了したら、mssql-conf setup を実行し、プロンプトに従って sa パスワードを設定して、エディションを選択します。 次の SQL Serverエディションは無料でライセンスが付与されます。Evaluation、Developer、Express。

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

    注意事項

    パスワードは SQL Server の既定のパスワードポリシーに従う必要があります。 既定では、パスワードの長さは少なくとも 8 文字で、大文字、小文字、10 進数の数字、記号の 4 種類のうち 3 種類を含んでいる必要があります。 パスワードには最大 128 文字まで使用できます。 パスワードはできるだけ長く、複雑にします。

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

    systemctl status mssql-server
    
  7. リモート接続を計画している場合は、必要に応じてファイアウォールで SQL Server の TCP ポート (既定値は 1433) も開きます。 SUSE ファイアウォールを使用している場合、/etc/sysconfig/SuSEfirewall2 構成ファイルを編集する必要があります。 FW_SERVICES_EXT_TCP エントリを変更し、SQL Server ポート番号を含めます。

    FW_SERVICES_EXT_TCP="1433"
    

この時点で、SQL Server は SLES マシン上で実行されており、使用する準備ができています。

  1. SQL Server 2019 (15.x) SLES リポジトリ構成ファイルをダウンロードします。

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/mssql-server-2019.repo
    

    ヒント

    別のバージョンの SQL Server をインストールする場合は、この記事の SQL Server 2017 (14.x)SQL Server 2022 (16.x)、または SQL Server 2025 (17.x) プレビュー バージョンを参照してください。

  2. リポジトリを最新の情報に更新します。

    sudo zypper --gpg-auto-import-keys refresh
    

    Microsoft パッケージ署名キーがシステムにインストールされていることを確認するには、次のコマンドを使用してインポートします。

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  3. SQL Server をインストールする前に、SUSE カスタマー センターで SUSE Linux Enterprise Server を登録してアクティブ化した後、 デスクトップ アプリケーション モジュールと開発ツール モジュールの両方をアクティブ化する必要があります。 これらのモジュールは、一部の SQL Server パッケージ依存関係に必要です。

  4. これで、SQL Server をインストールする準備ができました。 次のコマンドを実行してSQL Serverをインストールします。

    sudo zypper install -y mssql-server
    
  5. パッケージのインストールが完了したら、mssql-conf setup を実行し、プロンプトに従って sa パスワードを設定して、エディションを選択します。 次の SQL Serverエディションは無料でライセンスが付与されます。Evaluation、Developer、Express。

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

    注意事項

    パスワードは SQL Server の既定のパスワードポリシーに従う必要があります。 既定では、パスワードの長さは少なくとも 8 文字で、大文字、小文字、10 進数の数字、記号の 4 種類のうち 3 種類を含んでいる必要があります。 パスワードには最大 128 文字まで使用できます。 パスワードはできるだけ長く、複雑にします。

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

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

    たとえば、SLES では firewalld を使用してファイアウォールを管理できます。 sudo zypper install firewalld を使用してインストールし、sudo systemctl start firewalld を使用して起動します。 sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent を使用してファイアウォール規則を追加し、sudo firewall-cmd --reload を使用してファイアウォールを再度読み込み、設定を有効にします。

この時点で、SQL Server は SLES マシン上で実行されており、使用する準備ができています。

  1. SQL Server 2022 (16.x) の SLES リポジトリ構成ファイルをダウンロードします。

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/mssql-server-2022.repo
    

    ヒント

    別のバージョンの SQL Server をインストールする場合は、この記事の SQL Server 2017 (14.x)SQL Server 2019 (15.x)、または SQL Server 2025 (17.x) プレビュー バージョンを参照してください。

  2. リポジトリを最新の情報に更新します。

    sudo zypper --gpg-auto-import-keys refresh
    

    Microsoft パッケージ署名キーがシステムにインストールされていることを確認するには、次のコマンドを使用してインポートします。

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  3. SQL Server をインストールする前に、SUSE カスタマー センターで SUSE Linux Enterprise Server を登録してアクティブ化した後、 デスクトップ アプリケーション モジュールと開発ツール モジュールの両方をアクティブ化する必要があります。 これらのモジュールは、一部の SQL Server パッケージ依存関係に必要です。

  4. 次のコマンドを実行すると、SQL Server がインストールされます。

    sudo zypper install -y mssql-server
    
  5. パッケージのインストールが完了したら、mssql-conf setup を実行し、プロンプトに従って sa パスワードを設定して、エディションを選択します。 次の SQL Serverエディションは無料でライセンスが付与されます。Evaluation、Developer、Express。

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

    注意事項

    パスワードは SQL Server の既定のパスワードポリシーに従う必要があります。 既定では、パスワードの長さは少なくとも 8 文字で、大文字、小文字、10 進数の数字、記号の 4 種類のうち 3 種類を含んでいる必要があります。 パスワードには最大 128 文字まで使用できます。 パスワードはできるだけ長く、複雑にします。

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

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

    たとえば、SLES では firewalld を使用してファイアウォールを管理できます。 sudo zypper install firewalld を使用してインストールし、sudo systemctl start firewalld を使用して起動します。 sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent を使用してファイアウォール規則を追加し、sudo firewall-cmd --reload を使用してファイアウォールを再度読み込み、設定を有効にします。

この時点で、SQL Server は SLES マシン上で実行されており、使用する準備ができています。

  1. SQL Server 2025 (17.x) Preview SLES リポジトリ構成ファイルをダウンロードします。

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/mssql-server-preview.repo
    

    ヒント

    別のバージョンの SQL Server をインストールする場合は、この記事の SQL Server 2017 (14.x)SQL Server 2019 (15.x)、または SQL Server 2022 (16.x) バージョンを参照してください。

  2. リポジトリを最新の情報に更新します。

    sudo zypper --gpg-auto-import-keys refresh
    

    Microsoft パッケージ署名キーがシステムにインストールされていることを確認するには、次のコマンドを使用してインポートします。

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  3. SQL Server をインストールする前に、SUSE カスタマー センターで SUSE Linux Enterprise Server を登録してアクティブ化した後、 デスクトップ アプリケーション モジュールと開発ツール モジュールの両方をアクティブ化する必要があります。 これらのモジュールは、一部の SQL Server パッケージ依存関係に必要です。

  4. 次のコマンドを実行すると、SQL Server がインストールされます。

    sudo zypper install -y mssql-server
    
  5. パッケージのインストールが完了したら、mssql-conf setup を実行し、プロンプトに従って sa パスワードを設定して、エディションを選択します。 次の SQL Serverエディションは無料でライセンスが付与されます。Evaluation、Developer、Express。

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

    注意事項

    パスワードは SQL Server の既定のパスワードポリシーに従う必要があります。 既定では、パスワードの長さは少なくとも 8 文字で、大文字、小文字、10 進数の数字、記号の 4 種類のうち 3 種類を含んでいる必要があります。 パスワードには最大 128 文字まで使用できます。 パスワードはできるだけ長く、複雑にします。

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

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

    たとえば、SLES では firewalld を使用してファイアウォールを管理できます。 sudo zypper install firewalld を使用してインストールし、sudo systemctl start firewalld を使用して起動します。 sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent を使用してファイアウォール規則を追加し、sudo firewall-cmd --reload を使用してファイアウォールを再度読み込み、設定を有効にします。

この時点で、SQL Server は SLES マシン上で実行されており、使用する準備ができています。

ベスト プラクティスとして SA アカウントを無効にする

インストール後に初めてシステム管理者 (sa) アカウントを使用して SQL Server インスタンスに接続する場合は、次の手順に従い、セキュリティのベスト プラクティスとして sa アカウントをすぐに無効にすることが重要です。

  1. 新しいログインを作成し、sysadmin サーバー ロールのメンバーにします。

  2. 作成した新しいログインを使用してSQL Serverインスタンスに接続します。

  3. セキュリティのベスト プラクティスで推奨されているように、sa アカウントを無効にします。

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

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

次の手順に従って、SUSE Linux Enterprise Server に mssql-tools18 をインストールします。

  1. Microsoft パッケージ署名キーをインポートします。

    curl -O https://packages.microsoft.com/keys/microsoft.asc
    sudo rpm --import microsoft.asc
    
  2. Zypper に SQL Server リポジトリを追加します。

    • SLES 15 の場合は、次のコマンドを実行します:

      sudo zypper ar https://packages.microsoft.com/config/sles/15/prod.repo
      
    • SLES 12 の場合は、次のコマンドを実行します:

      sudo zypper ar https://packages.microsoft.com/config/sles/12/prod.repo
      
  3. unixODBC 開発者パッケージと共に mssql-tools18 をインストールします。

    • SLES 15 の場合は、次のコマンドを実行します:
    sudo zypper install -y mssql-tools18 unixODBC-devel glibc-locale-base
    
    • SLES 12 の場合は、次のコマンドを実行します:
    sudo zypper install -y mssql-tools18 unixODBC-devel
    

    最新バージョンの mssql-tools18 に更新するには、次のコマンドを実行します:

    sudo zypper refresh
    sudo zypper update mssql-tools18
    
  4. 省略可能:bash シェルで /opt/mssql-tools18/bin/ 環境変数に PATH を追加します。

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

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

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

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

ローカル接続

次の手順では、sqlcmdを使用して新しいSQL Serverインスタンスにローカル接続します。

注意事項

パスワードは SQL Server の既定のパスワードポリシーに従う必要があります。 既定では、パスワードの長さは少なくとも 8 文字で、大文字、小文字、10 進数の数字、記号の 4 種類のうち 3 種類を含んでいる必要があります。 パスワードには最大 128 文字まで使用できます。 パスワードはできるだけ長く、複雑にします。

  1. sqlcmd にSQL Server名 (-S)、ユーザー名 (-U)、およびパスワード (-P) のパラメーターを指定して実行します。 このチュートリアルでは、ローカルに接続するため、サーバー名は localhost です。 ユーザー名は sa で、パスワードはセットアップ時に sa アカウントに指定したものです。

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

    sqlcmd の新しいバージョンは、既定でセキュリティで保護されています。 接続の暗号化の詳細については、Windows 用「sqlcmd ユーティリティ 」および Linux および macOS 用「sqlcmdを使用した接続」をご覧ください。 接続が成功しない場合は、-No オプションを sqlcmd に追加して、暗号化が必須ではなくオプションであることを指定できます。

    コマンド ラインでパスワードを省略すると、入力を求められます。

    後でリモート接続する場合は、 -S パラメーターとしてコンピューター名またはIP アドレスを指定し、ファイアウォールでポート 1433 が開いていることを確認してください。

  2. 成功すると、sqlcmd コマンド プロンプト 1> が表示されます。

  3. 接続エラーが発生した場合は、まずエラー メッセージから問題を診断します。 次に、接続のトラブルシューティングに関する推奨事項を確認します。

データの作成とクエリ

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

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

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

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

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

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

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

    GO
    

データの挿入

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

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

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

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

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

    GO
    

データの選択

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

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

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

    GO
    

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

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

QUIT

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

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

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

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

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

Windows からの接続

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

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

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

その他の展開シナリオ

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

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

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

SQL ドキュメントへの投稿

SQL コンテンツを自分で編集できることはご存じですか。 これにより、ドキュメントが改善されるだけでなく、ページの共同作成者としてもクレジットされます。

詳細については、「Microsoft Learn ドキュメントを編集する」を参照してください。