概要
このガイドでは、SQLServerインスタンスとsqlcmd
をインストールして構成する方法について説明します。 コマンドラインクライアント。これらのコンポーネントをコンピューターにインストールしてローカルアクセス用にセットアップする方法について説明します。
このガイドでは、次のプラットフォームについて説明します。
- WindowsでのSQLServerのセットアップ
- macOSでのSQLServerのセットアップ(Dockerを使用)
- LinuxでのSQLServerのセットアップ
- Ubuntu
- CentOSとRedHat
- Dockerを使用する
使用するプラットフォームに一致するセクションに移動します。
WindowsでのSQLServerのセットアップ
Microsoftは、自社のサイトでSQL Server用のネイティブWindowsインストーラーを提供しており、さまざまな目的に適したさまざまなバージョンのSQLServerを提供しています。このガイドでは、無料のDeveloperEditionをダウンロードしてインストールします。プロダクションで使用する場合は、Developerエディションから有料バージョンに簡単にアップグレードできます。
まず、SQLServerに関するMicrosoftのページにアクセスします。 Developerエディションに関連するセクションを見つけて、今すぐダウンロードをクリックします。 :
ダウンロードが完了したら、ファイルをダブルクリックしてインストーラーを実行します(プログラムがコンピューターに変更を加えることを許可することを確認する必要がある場合があります)。
インストーラーの初期画面で、実行するインストールのタイプを選択するように求められます。
基本を選択します 最も一般的なオプションを使用して、従来のインストールを続行します。
次に、DeveloperEditionのライセンス条項に同意するよう求められます。
ライセンスを読み、条件に同意したら、[同意する]をクリックします 続行します。
次に、インストール場所を確認または変更します:
準備ができたら、[インストール]をクリックします インストールプロセスを開始します。
インストーラーは、コンピューターにSQLServerをセットアップするためのコンポーネントのダウンロードとインストールを開始します。
インストールが完了すると、現在のインストールプロパティを示す画面が表示されます。
新しいSQLServerインスタンスにすぐに接続するには、[今すぐ接続]をクリックします 下部にあります。
新しいウィンドウはCmd
になります ウィンドウが表示され、sqlcmd
を使用してSQLServerインスタンスに自動的にログインします。 クライアント:
ウィンドウ上部のコメントに示されているように、sqlcmd
を使用していつでも手動でSQLServerに接続できます。 次のように入力してクライアント:
sqlcmd -S <yourhostname> -E
現在のSQLセッションを終了するには、次のように入力します。
EXIT
macOSでのSQLServerのセットアップ
MicrosoftはmacOSのネイティブインストーラーを提供していませんが、Dockerを介したmacOSでのSQLServerの実行をサポートしています。メインのSQLServerDockerコンテナはLinuxコンテナを使用して構築されているため、Dockerコンテナを実行できるすべてのホストでデータベースサーバーを実行できます。
イメージを正常に実行するには、少なくとも2 GBのメモリ(おそらく少なくとももう少し)が必要ですが、Docker自体には少なくとも4GBのメモリが必要です。
まず、システムにDockerがインストールされていることを確認します。 Docker Desktop for Macには、DockerEngineおよびその他の関連アプリケーションが含まれています。 Dockerをまだインストールしていない場合は、上記のリンクに含まれている手順に従ってください。
Dockerを起動して実行したら、次のように入力して、MicrosoftContainerRegistryからSQLServerDockerイメージをプルできます。
docker pull mcr.microsoft.com/mssql/server:2019-latest
これにより、必要なすべてのイメージレイヤーがローカルシステムにダウンロードされ、起動が速くなります。
コンテナを起動する準備ができたら、次のコマンドを入力します。
<password>
を忘れずに置き換えてください 目的のパスワードの値を使用して、イメージのパスワードポリシーに準拠する値を選択します。この記事の執筆時点では、ポリシーは次のように定義されています。「パスワードは8文字以上で、大文字、小文字、10進数、記号の4つのセットのうち3つからの文字が含まれている必要があります。」:
docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest
SQLServerコンテナはバックグラウンドで起動されます。表示される文字列は、新しいコンテナのIDです。
次のように入力して、コンテナが稼働していることを確認できます。
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssqlae00765e36fb hello-world "/hello" 24 minutes ago Exited (0) 24 minutes ago dreamy_swanson
mssql
が表示されます。 リストの中のコンテナ。コンテナが実行されていないか、問題が発生した場合は、ログを表示して、役立つメッセージがあるかどうかを確認できます。
docker logs mssql
SQL Serverコンテナには、データベースサーバーがインストールされているだけでなく、sqlcmd
などの一般的なツールもいくつか用意されています。 コマンドラインクライアント。このクライアントを使用してデータベースインスタンスに接続するには、docker exec
を使用できます。 コマンドにアクセスしてデータベースに対して認証するには:
docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"
コンテナ内のSQLServerに対して認証され、SQLシェルにドロップされます。次のように入力して、すべてが稼働していることを確認できます。
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64> (1 rows affected)
SQLセッションを終了して通常のシェルに戻るには、次のように入力します。
EXIT
完了時にSQLServerコンテナをシャットダウンするには、次のように入力してSQLServerコンテナを停止します。
docker stop mssql
コンテナインスタンス(内部のすべてのデータを含む)を削除するには、次のように入力します:
docker rm mssql
SQL Serverコンテナにデータを永続化するには、Microsoftのドキュメントで説明されている手法のいずれかを使用するか、コンテナでのデータボリュームの使用に関するDocker独自のドキュメントを参照してください。
LinuxでのSQLServerのセットアップ
インストール方法は、使用しているLinuxディストリビューションによって異なります。 Linuxディストリビューションに一致する以下のセクションに従ってください。その構成を希望する場合、またはリストされていないディストリビューションを使用する場合は、Dockerを使用する手順もあります。
- Ubuntu
- CentOSとRedHat
- Dockerを使用する
Ubuntu
Ubuntu20.04にSQLServerをインストールする最も簡単な方法は、Microsoftが提供する専用のリポジトリからインストールすることです。必要なソフトウェアを正常にインストールして実行するには、マシンに少なくとも2GBのメモリが必要です。
まず、次のように入力して、システムに新しいリポジトリ定義を追加します。
sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
sqlcmd
にアクセスするには、別のリポジトリを追加する必要もあります。 バイナリおよびその他のツール:
sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"
次に、Microsoftパッケージ署名キーをapt
に追加します 新しいリポジトリ内のパッケージを信頼するように:
wget --quiet -O - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
リポジトリを設定すると、SQLServerとsqlcmd
をインストールできます。 次のように入力してコマンドラインクライアント:
sudo apt install mssql-server mssql-tools unixodbc-dev
インストールが完了したら、新しいデータベースインスタンスを構成する必要があります。これを行うには、付属のmssql-conf setup
を実行します。 新しいシステムの基本的なプロパティのいくつかを設定するスクリプト:
sudo /opt/mssql/bin/mssql-conf setup
データベースサーバーを構成するために、一連の質問が表示されます。
まず、使用するSQLサーバーのエディションを尋ねられます:
Choose an edition of SQL Server: 1) Evaluation (free, no production use rights, 180-day limit) 2) Developer (free, no production use rights) 3) Express (free) 4) Web (PAID) 5) Standard (PAID) 6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded 7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum 8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):
有料ライセンスをお持ちの場合は、適切なバージョンを選択できます。非実稼働環境でサーバーを使用している場合は、開発者版を選択しても安全です。
次に、ライセンス条項に再度同意する必要があります:
The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:
最後に、SQL Serverシステム管理者アカウント(多くの場所でSAアカウントと呼ばれます)のパスワードを設定して確認する必要があります。
Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:
sqlcmd
を使用するには SQL Serverインスタンスに接続するクライアントの場合、mssql-tools
を追加するのが最も簡単です。 PATH
へのバイナリディレクトリ 。これを構成するには、次のように入力します。
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
その後、上記の2つのファイルのいずれかを再ソースして、新しいPATH
を評価します。 現在のセッションの場合:
source ~/.bashrc
これで、次のように入力してデータベースインスタンスに接続できます。
sqlcmd -U SA -S 127.0.0.1
以前に設定したパスワードの入力を求められます。認証に成功すると、SQLシェルに移動します。ここから、サーバーのバージョンを印刷することで、すべてが機能していることを確認できます。
SELECT @@VERSIONGO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS) <X64> (1 rows affected)
SQLシェルを終了してコマンドラインに戻るには、次のように入力します。
EXIT
CentOSとRedHat
CentOSまたはRedHatにSQLServerをインストールする最も簡単な方法は、Microsoftが提供するリポジトリを使用することです。 Linuxホストには、SQLServerをインストールして実行するために少なくとも2GBのメモリが必要です。
SQL Serverをインストールする前に、その依存関係をインストールして構成する必要があります。続行するには、Python2とOpenSSL10の両方が必要です:
sudo yum install python2 compat-openssl10
Python 2をインストールしたら、それをデフォルトのPythonインスタンスとして使用するようにシステムを構成します。
sudo alternatives --config python
次のリストから、Python2のインストールに関連付けられている番号を選択します。以下の例では、これはオプション2になります。
There are 2 programs which provide 'python'. Selection Command ----------------------------------------------- *+ 1 /usr/libexec/no-python 2 /usr/bin/python2 Enter to keep the current selection[+], or type selection number: 2
依存関係が整ったら、SQLServerYUMリポジトリを構成できます。
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/mssql-server-2019.repo
その後、sqlcmd
にアクセスするために追加のリポジトリを構成する必要があります およびその他のツール:
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/prod.repo
リポジトリを構成したら、次のように入力してSQLServerをインストールします。
sudo yum install mssql-server mssql-tools unixODBC-devel
インストールが完了したら、新しいデータベースインスタンスを構成する必要があります。これを行うには、付属のmssql-conf setup
を実行します。 新しいシステムの基本的なプロパティのいくつかを設定するスクリプト:
sudo /opt/mssql/bin/mssql-conf setup
データベースサーバーを構成するために、一連の質問が表示されます。
まず、使用するSQLサーバーのエディションを尋ねられます:
Choose an edition of SQL Server: 1) Evaluation (free, no production use rights, 180-day limit) 2) Developer (free, no production use rights) 3) Express (free) 4) Web (PAID) 5) Standard (PAID) 6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded 7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum 8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):
有料ライセンスをお持ちの場合は、適切なバージョンを選択できます。非実稼働環境でサーバーを使用している場合は、開発者版を選択しても安全です。
次に、ライセンス条項に再度同意する必要があります:
The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:
最後に、SQL Serverシステム管理者アカウント(多くの場所でSAアカウントと呼ばれます)のパスワードを設定して確認する必要があります。
Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:
sqlcmd
を使用するには SQL Serverインスタンスに接続するクライアントの場合、mssql-tools
を追加するのが最も簡単です。 PATH
へのバイナリディレクトリ 。これを構成するには、次のように入力します。
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
その後、上記の2つのファイルのいずれかを再ソースして、新しいPATH
を評価します。 現在のセッションの場合:
source ~/.bashrc
これで、次のように入力してデータベースインスタンスに接続できます。
sqlcmd -U SA -S 127.0.0.1
以前に設定したパスワードの入力を求められます。認証に成功すると、SQLシェルに移動します。ここから、サーバーのバージョンを印刷することで、すべてが機能していることを確認できます。
SELECT @@VERSIONGO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (CentOS Linux 8) <X64> (1 rows affected)
SQLシェルを終了してコマンドラインに戻るには、次のように入力します。
EXIT
Dockerを使用
Microsoftがパッケージを提供していないLinuxディストリビューションを使用している場合、または単に希望する場合は、Dockerを使用してSQLServerを実行することもできます。イメージを正常に実行するには、少なくとも2 GBのメモリ(おそらく少なくとももう少し)が必要です。
まず、システムにDockerエンジンがインストールされていることを確認します。さまざまなプラットフォームの詳細な手順については、DockerEngineのドキュメントをご覧ください。
Dockerを起動して実行したら、次のように入力して、MicrosoftContainerRegistryからSQLServerDockerイメージをプルできます。
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
これにより、必要なすべてのイメージレイヤーがローカルシステムにダウンロードされ、起動が速くなります。
コンテナを起動する準備ができたら、次のコマンドを入力します。
<password>
を忘れずに置き換えてください 目的のパスワードの値を使用して、イメージのパスワードポリシーに準拠する値を選択します。この記事の執筆時点では、ポリシーは次のように定義されています。「パスワードは8文字以上で、大文字、小文字、10進数、記号の4つのセットのうち3つからの文字が含まれている必要があります。」:
sudo docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest
SQLServerコンテナはバックグラウンドで起動されます。表示される文字列は、新しいコンテナのIDです。
次のように入力して、コンテナが稼働していることを確認できます。
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssqlae00765e36fb hello-world "/hello" 24 minutes ago Exited (0) 24 minutes ago dreamy_swanson
mssql
が表示されます。 リストの中のコンテナ。コンテナが実行されていないか、問題が発生した場合は、ログを表示して、役立つメッセージがあるかどうかを確認できます。
sudo docker logs mssql
SQL Serverコンテナには、データベースサーバーがインストールされているだけでなく、sqlcmd
などの一般的なツールもいくつか用意されています。 コマンドラインクライアント。このクライアントを使用してデータベースインスタンスに接続するには、docker exec
を使用できます。 コマンドにアクセスしてデータベースに対して認証するには:
sudo docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"
コンテナ内のSQLServerに対して認証され、SQLシェルにドロップされます。次のように入力して、すべてが稼働していることを確認できます。
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64> (1 rows affected)
SQLセッションを終了して通常のシェルに戻るには、次のように入力します。
EXIT
完了時にSQLServerコンテナをシャットダウンするには、次のように入力してSQLServerコンテナを停止します。
sudo docker stop mssql
コンテナインスタンス(内部のすべてのデータを含む)を削除するには、次のように入力します:
sudo docker rm mssql
SQL Serverコンテナにデータを永続化するには、Microsoftのドキュメントで説明されている手法のいずれかを使用するか、コンテナでのデータボリュームの使用に関するDocker独自のドキュメントを参照してください。