SQL Server 2017以降、LinuxにSQLServerをインストールできるようになりました。
具体的には、Ubuntu、Red Hat(RHEL)、およびSUSEにインストールします。
以下は、これらの各LinuxディストリビューションにSQLServerをインストールするための手順です。
UbuntuにSQLServerをインストールする
次の手順は、Ubuntu18.04にLinux用のSQLServer2019をインストールするために使用したものです。
公開リポジトリのGPGキーをインポートします:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
リポジトリを登録します:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
SQL Serverのインストール:
sudo apt-get update
sudo apt-get install -y mssql-server
セットアップを実行し、プロンプトに従います:
sudo /opt/mssql/bin/mssql-conf setup
サービスが稼働していることを確認します:
systemctl status mssql-server --no-pager
これで問題がなければ、SQLServerがUbuntuマシンにインストールされました。
SQL Serverに接続し、コマンドラインユーティリティを使用してクエリを実行する例については、Ubuntuにsqlcmd&bcpをインストールする方法を参照してください。
GUIオプションについては、UbuntuにAzureDataStudioをインストールする方法を参照してください。
インストールとDBコマンドラインユーティリティのインストールの両方を組み合わせた詳細な記事については、Ubuntu18.04にSQLServerをインストールする方法も参照してください。
Red Hat(RHEL)にSQLServerをインストールする
次の手順は、RHEL8.3にLinux用のSQLServer2019をインストールするために使用したものです。
SQLServerにはPython2とOpenSSL1.0が必要ですが、これらはRHEL8には含まれていません。
python2とopenssl10をインストールするには、ターミナルを開いて次のコマンドを実行します。
sudo yum install python2
sudo yum install compat-openssl10
次のコードは、python2をデフォルトのインタープリターとして構成します。
sudo alternatives --config python
オプションのリストが表示された場合は、python2に対応する番号を選択してください。
これで、Microsoft SQL Server 2019RedHatリポジトリ構成ファイルをダウンロードできます。
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
注 :RHEL 7にインストールする場合は、パスを/rhel/8/
から変更します /rhel/7/
へ 。
SQL Serverのインストール:
sudo yum install -y mssql-server
インストールしたら、 mssql-conf setupを実行します :
sudo /opt/mssql/bin/mssql-conf setup
プロンプトに従ってエディションを選択し、ライセンス契約に同意して、saパスワードを設定します。
次のコマンドを実行して、SQLServerが実行されていることを確認できます。
systemctl status mssql-server
SQL Serverに接続してクエリを実行する例については、RedHatにsqlcmdとbcpをインストールする方法を参照してください。
GUIオプションについては、RedHatにAzureDataStudioをインストールする方法を参照してください。
SQL Serverのインストールと接続の両方の詳細については、RedHat8にSQLServerをインストールする方法も参照してください。
SUSEにSQLServerをインストールする
次の手順では、SUSE12にLinux用のSQLServer2019をインストールします。
Microsoft SQL Server 2019 SLESリポジトリ構成ファイルをダウンロードします:
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/mssql-server-2019.repo
リポジトリを更新します:
sudo zypper --gpg-auto-import-keys refresh
Microsoftパッケージ署名キーがシステムにインストールされていることを確認するには、次のコマンドを使用します。
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
SQL Serverのインストール:
sudo zypper install -y mssql-server
mssql-confセットアップを実行します :
sudo /opt/mssql/bin/mssql-conf setup
プロンプトに従ってエディションを選択し、ライセンス契約に同意して、saパスワードを設定します。
次のコマンドを実行して、SQLServerが実行されていることを確認できます。
systemctl status mssql-server
SQL Serverに接続してクエリを実行する例については、SUSEにsqlcmd&bcpをインストールする方法を参照してください。
SQL Serverのインストールと上記のユーティリティを組み合わせた詳細な記事については、SUSE12にSQLServerをインストールする方法も参照してください。
コンテナを使用してSQLServerをインストールする
DockerコンテナイメージからSQLServerをインストールすることもできます。
これを行うには、最初にDockerをインストールする必要があります。インストールは迅速かつ簡単です。パッケージはDockerWebサイトからダウンロードできます。
Dockerをインストールしたら、SQLServerコンテナイメージをプルして実行できます。
ターミナルを開き、以下を実行します:
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
これにより、SQLServer2019の最新バージョンがプルされます。mssql-server-linuxDockerハブページで最新のダウンロードを確認してください。
これで、次のコマンドを使用してコンテナイメージを実行できます。
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<yourpassword>" -p 1433:1433 --name sql_server_1 -h sql_server_1 -d mcr.microsoft.com/mssql/server:2019-latest
sql_server_1
を置き換えることができます 必要に応じて自分の名前で。 -name
パラメーターは、ランダムに生成されたものではなく、コンテナーのカスタム名を指定します。 -h
(ホスト名)パラメーターは、コンテナーの内部名をカスタム値に変更します。 -h
を指定しない場合 、これはデフォルトで、ランダムに生成されたシステムGUIDであるコンテナIDになります。
また、必ず<yourpassword>
を置き換えてください 自分のパスワードで。強力なパスワードである必要があります。そうでない場合、エラーが発生する可能性があります。
パスワードは、SQLServerのデフォルトのパスワードポリシーに従う必要があります。デフォルトでは、パスワードは8文字以上で、大文字、小文字、10進数、記号の4つのセットのうち3つを含む必要があります。
次のコマンドで実行中のコンテナを確認できます:
sudo docker ps -a
これにより、Dockerコンテナのステータスに関するさまざまなデータが返されます。 ステータス 列には、コンテナが実行されているかどうか、および実行されている期間が示されます。
sqlcmd
SQL ServerがDockerコンテナーにインストールされたので、次のコマンドを使用して、実行中のコンテナー内で対話型bashシェルを開始できます。
sudo docker exec -it sql1 "bash"
これが完了すると、 sqlcmdを使用してローカルでSQLServerに接続できるようになります。 :
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<yourpassword>"
データベースの作成、T-SQLクエリの作成などができるようになりました。
AzureDataStudioなどのグラフィカルツールを使用してSQLServerインスタンスに接続することもできます。
Podman
ほとんどではないにしても、多くのDockerコマンドはPodmanでも機能します。
Podmanは、Dockerコンテナエンジンに似たCLIを提供します。 DockerをPodmanにエイリアスできるはずです(alias docker=podman
)問題なく。