Microsoft SQL Server

ローカル SQL Server データベースのセットアップ

シェア

概要

このガイドでは、SQL Server インスタンスsqlcmd コマンドラインクライアントのインストールと構成方法について説明します。ローカルアクセス用にこれらのコンポーネントをコンピュータにインストールしてセットアップする方法について説明します。

このガイドでは、次のプラットフォームについて説明します。

作業するプラットフォームに一致するセクションに移動してください。

Windows での SQL Server のセットアップ

Microsoft は、SQL Server のネイティブ Windows インストーラーをサイトで提供しており、さまざまな目的に適したさまざまなバージョンの SQL Server を提供しています。このガイドの目的のために、無料の Developer Edition をダウンロードしてインストールします。実稼働環境で使用したい場合は、Developer Edition から有料版に簡単にアップグレードできます。

開始するには、Microsoft の SQL Server のページにアクセスしてください。Developer Edition に関連するセクションを見つけて、今すぐダウンロードをクリックしてください。

Download SQL Server Developer Edition

ダウンロードが完了したら、ファイルをダブルクリックしてインストーラーを実行します(プログラムがコンピュータに変更を加えることを許可するかどうかを確認する必要がある場合があります)。

インストーラーの最初の画面で、実行するインストールの種類を選択するように求められます。

SQL Server choose installation type

最も一般的なオプションを使用して従来のインストールを続行するには、基本を選択してください。

次に、Developer Edition のライセンス条項に同意するように求められます。

SQL Server agree to terms

ライセンスを読み、条項に同意したら、同意するをクリックして続行します。

次に、インストール場所を確認または変更します。

SQL Server choose installation location

準備ができたら、インストールをクリックしてインストールプロセスを開始します。

インストーラーは、コンポーネントのダウンロードとインストールを開始して、コンピュータに SQL Server をセットアップします。

SQL Server downloading and installing

インストールが完了すると、現在のインストールプロパティを示す画面が表示されます。

SQL Server installation successful

新しい SQL Server インスタンスにすぐに接続するには、下部にある今すぐ接続をクリックします。

新しい Cmd ウィンドウが表示され、sqlcmd クライアントを使用して SQL Server インスタンスに自動的にログインします。

SQL Server connect to database

ウィンドウの上部のコメントに示すように、sqlcmd クライアントでいつでも手動で SQL Server に接続できます。入力するには

sqlcmd -S <yourhostname> -E

現在の SQL セッションを終了するには、次のように入力します。

EXIT

macOS での SQL Server のセットアップ

Microsoft は macOS 用のネイティブインストーラーを提供していませんが、Docker 経由で macOS での SQL Server の実行をサポートしています。メインの SQL Server Docker コンテナは Linux コンテナを使用して構築されており、Docker コンテナを実行できる任意のホストでデータベースサーバーを実行できます。

イメージを正常に実行するには、少なくとも 2 GB のメモリ(おそらくもう少し多く)が必要になりますが、Docker 自体には少なくとも 4 GB のメモリが必要です。

開始するには、システムに Docker がインストールされていることを確認してください。Docker Desktop for Mac には、Docker Engine とその他の関連アプリケーションが含まれています。Docker がまだインストールされていない場合は、上記のリンクに含まれている手順に従ってください。

Docker が起動して実行されたら、次のように入力して、Microsoft Container Registry から SQL Server Docker イメージをプルできます。

docker pull mcr.microsoft.com/mssql/server:2019-latest

これにより、必要なすべてのイメージレイヤーがローカルシステムにダウンロードされ、起動が高速化されます。

コンテナを起動する準備ができたら、次のコマンドを入力します。

<password> を目的のパスワードの値に置き換え、イメージのパスワードポリシーに準拠する値を選択することを忘れないでください。このドキュメントの執筆時点では、ポリシーは次のように定義されています。「パスワードは 8 文字以上で、次の 4 つのセットのうち 3 つのセットの文字を含める必要があります:大文字、小文字、10 進数字、記号。」

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

SQL Server コンテナがバックグラウンドで起動されます。表示される文字の文字列は、新しいコンテナの ID です。

次のコマンドを入力して、コンテナが起動して実行されていることを確認できます。

docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssql
ae00765e36fb 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>"

コンテナ内の SQL Server に対して認証され、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

SQL Server コンテナが完了したらシャットダウンするには、次のように入力して停止できます。

docker stop mssql

コンテナインスタンス(内部のすべてのデータを含む!)を削除するには、次のように入力します。

docker rm mssql

SQL Server コンテナ内のデータを永続化するには、Microsoft ドキュメントに記載されている手法のいずれかを使用するか、コンテナでデータボリュームを使用する方法に関する Docker 独自のドキュメントをご覧ください。

Linux での SQL Server のセットアップ

インストール方法は、使用している Linux ディストリビューションによって異なります。Linux ディストリビューションに一致する以下のセクションに従ってください。構成を優先する場合、またはリストにないディストリビューションを使用する場合は、Docker を使用した手順もあります。

Ubuntu

Ubuntu 20.04 に SQL Server をインストールする最も簡単な方法は、Microsoft が提供する専用リポジトリからインストールすることです。必要なソフトウェアを正常にインストールして実行するには、マシンに少なくとも 2 GB のメモリが必要です。

開始するには、次のように入力して、新しいリポジトリ定義をシステムに追加します。

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 -

リポジトリをセットアップしたら、次のように入力して、SQL Server と sqlcmd コマンドラインクライアントをインストールできます。

sudo apt install mssql-server mssql-tools unixodbc-dev

インストールが完了したら、新しいデータベースインスタンスを構成する必要があります。これを行うには、含まれている mssql-conf setup スクリプトを実行して、新しいシステムの基本的なプロパティをいくつか設定します。

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

データベースサーバーを構成するために、一連の質問に答えるように求められます。

まず、使用する SQL Server のエディションを尋ねられます。

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 at
https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409
Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.
Enter your edition(1-8):

有料ライセンスをお持ちの場合は、適切なバージョンを選択できます。非実稼働環境でサーバーを使用している場合は、Developer Edition を選択しても安全です。

次に、再度ライセンス条項に同意する必要があります。

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=0x409
The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409
Do 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"' >> ~/.bashrc
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

その後、上記の 2 つのファイルのいずれかを再ソースして、現在のセッションの新しい PATH を評価します。

source ~/.bashrc

これで、次のように入力してデータベースインスタンスに接続できます。

sqlcmd -U SA -S 127.0.0.1

先ほど設定したパスワードの入力を求められます。認証に成功すると、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 20.04.2 LTS) <X64>
(1 rows affected)

SQL シェルを終了してコマンドラインに戻るには、次のように入力します。

EXIT

CentOS と Red Hat

CentOS または Red Hat に SQL Server をインストールする最も簡単な方法は、Microsoft が提供するリポジトリを使用することです。Linux ホストには、SQL Server をインストールして実行するために少なくとも 2 GB のメモリが必要です。

SQL Server をインストールする前に、その依存関係をインストールして構成する必要があります。続行するには、Python 2 と OpenSSL 10 の両方が必要です。

sudo yum install python2 compat-openssl10

Python 2 がインストールされたら、それをデフォルトの Python インスタンスとして使用するようにシステムを構成します。

sudo alternatives --config python

続くリストから、Python 2 インストールに関連付けられている番号を選択します。以下の例では、オプション 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

依存関係が整ったら、SQL Server YUM リポジトリを構成できます。

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

リポジトリが構成されたら、次のように入力して SQL Server をインストールします。

sudo yum install mssql-server mssql-tools unixODBC-devel

インストールが完了したら、新しいデータベースインスタンスを構成する必要があります。これを行うには、含まれている mssql-conf setup スクリプトを実行して、新しいシステムの基本的なプロパティをいくつか設定します。

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

データベースサーバーを構成するために、一連の質問に答えるように求められます。

まず、使用する SQL Server のエディションを尋ねられます。

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 at
https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409
Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.
Enter your edition(1-8):

有料ライセンスをお持ちの場合は、適切なバージョンを選択できます。非実稼働環境でサーバーを使用している場合は、Developer Edition を選択しても安全です。

次に、再度ライセンス条項に同意する必要があります。

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=0x409
The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409
Do 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"' >> ~/.bashrc
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

その後、上記の 2 つのファイルのいずれかを再ソースして、現在のセッションの新しい PATH を評価します。

source ~/.bashrc

これで、次のように入力してデータベースインスタンスに接続できます。

sqlcmd -U SA -S 127.0.0.1

先ほど設定したパスワードの入力を求められます。認証に成功すると、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 (CentOS Linux 8) <X64>
(1 rows affected)

SQL シェルを終了してコマンドラインに戻るには、次のように入力します。

EXIT

Docker を使用

Microsoft がパッケージを提供していない Linux ディストリビューションを使用している場合、または単に希望する場合は、別のオプションとして Docker で SQL Server を実行することもできます。イメージを正常に実行するには、少なくとも 2 GB のメモリ(おそらくもう少し多く)が必要です。

開始するには、システムに Docker Engine がインストールされていることを確認してください。さまざまなプラットフォームの詳細な手順は、Docker Engine ドキュメントに記載されています。

Docker が起動して実行されたら、次のように入力して、Microsoft Container Registry から SQL Server Docker イメージをプルできます。

sudo docker pull mcr.microsoft.com/mssql/server:2019-latest

これにより、必要なすべてのイメージレイヤーがローカルシステムにダウンロードされ、起動が高速化されます。

コンテナを起動する準備ができたら、次のコマンドを入力します。

<password> を目的のパスワードの値に置き換え、イメージのパスワードポリシーに準拠する値を選択することを忘れないでください。このドキュメントの執筆時点では、ポリシーは次のように定義されています。「パスワードは 8 文字以上で、次の 4 つのセットのうち 3 つのセットの文字を含める必要があります:大文字、小文字、10 進数字、記号。」

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

SQL Server コンテナがバックグラウンドで起動されます。表示される文字の文字列は、新しいコンテナの ID です。

次のコマンドを入力して、コンテナが起動して実行されていることを確認できます。

sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssql
ae00765e36fb 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>"

コンテナ内の SQL Server に対して認証され、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

SQL Server コンテナが完了したらシャットダウンするには、次のように入力して停止できます。

sudo docker stop mssql

コンテナインスタンス(内部のすべてのデータを含む!)を削除するには、次のように入力します。

sudo docker rm mssql

SQL Server コンテナ内のデータを永続化するには、Microsoft ドキュメントに記載されている手法のいずれかを使用するか、コンテナでデータボリュームを使用する方法に関する Docker 独自のドキュメントをご覧ください。

FAQ

Microsoft SQL Server にはいくつかのバージョンがサポートされており、実行しているバージョンを特定する方法はいくつかあります。

Microsoft のリストされている方法のいずれかを実行すると、実行している SQL Server データベースエンジンのバージョンとエディションが返されます。

ダウンロードできる無料の特殊エディションの SQL Server が 2 つあります。Developer Edition と Express Edition は、Microsoft の SQL Server のページでダウンロードできます。

Developer Edition は、非実稼働環境での開発およびテストデータベースとして使用するためにライセンス供与された、フル機能の無料エディションです。

Express Edition は、デスクトップ、Web、および小規模サーバーアプリケーションの開発および実稼働環境に最適です。

SQL Server 2019 Developer は、非実稼働環境での開発およびテストデータベースとして使用するためにライセンス供与された、フル機能のエディションです。

Azure SQL は SQL Server をベースにしているため、機能と互換性に多くの類似点があります。ただし、これは同じであることを意味するものではありません。

Azure SQL は、Azure クラウドで SQL Server データベースエンジンを使用するマネージド製品のファミリです。

SQL Server 構成マネージャーは、SQL Server に関連付けられたサービスを管理し、SQL Server が使用するネットワークプロトコルを構成し、SQL Server クライアントコンピュータからのネットワーク接続構成を管理するためのツールです。

構成マネージャーは SQL Server のインストールと共にインストールされ、スタートメニューから利用できるほか、Microsoft Management Console の任意のディスプレイに追加できます。

著者について
Justin Ellingwood

Justin Ellingwood

Justin は、2013 年からデータベース、Linux、インフラストラクチャ、および開発者ツールについて執筆しています。現在はベルリンに妻と 2 羽のウサギと住んでいます。彼は通常、三人称で書く必要はありません。これは関係者全員にとって安心です。