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 に関連するセクションを見つけて、今すぐダウンロードをクリックしてください。
ダウンロードが完了したら、ファイルをダブルクリックしてインストーラーを実行します(プログラムがコンピュータに変更を加えることを許可するかどうかを確認する必要がある場合があります)。
インストーラーの最初の画面で、実行するインストールの種類を選択するように求められます。
最も一般的なオプションを使用して従来のインストールを続行するには、基本を選択してください。
次に、Developer Edition のライセンス条項に同意するように求められます。
ライセンスを読み、条項に同意したら、同意するをクリックして続行します。
次に、インストール場所を確認または変更します。
準備ができたら、インストールをクリックしてインストールプロセスを開始します。
インストーラーは、コンポーネントのダウンロードとインストールを開始して、コンピュータに SQL Server をセットアップします。
インストールが完了すると、現在のインストールプロパティを示す画面が表示されます。
新しい SQL Server インスタンスにすぐに接続するには、下部にある今すぐ接続をクリックします。
新しい Cmd
ウィンドウが表示され、sqlcmd
クライアントを使用して SQL Server インスタンスに自動的にログインします。
ウィンドウの上部のコメントに示すように、sqlcmd
クライアントでいつでも手動で SQL Server に接続できます。入力するには
sqlcmd -S <yourhostname> -E
現在の SQL セッションを終了するには、次のように入力します。
EXIT
Prisma Client を SQL Server で使用している場合は、SQL Server コネクタを使用して、接続、モデルのマッピング、およびデータの管理を行うことができます。
新規プロジェクトまたは既存のプロジェクトで Prisma を Microsoft SQL Server と共に使用する方法については、ガイドも参照してください。
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 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>"
コンテナ内の SQL Server に対して認証され、SQL シェルにドロップされます。すべてが起動して実行されていることを確認するには、次のように入力します。
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)Jan 25 2021 20:16:12Copyright (C) 2019 Microsoft CorporationDeveloper 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 独自のドキュメントをご覧ください。
Prisma Client を SQL Server で使用している場合は、SQL Server コネクタを使用して、接続、モデルのマッピング、およびデータの管理を行うことができます。
新規プロジェクトまたは既存のプロジェクトで Prisma を Microsoft SQL Server と共に使用する方法については、ガイドも参照してください。
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 hyperthreaded7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum8) 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):
有料ライセンスをお持ちの場合は、適切なバージョンを選択できます。非実稼働環境でサーバーを使用している場合は、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=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:12Copyright (C) 2019 Microsoft CorporationDeveloper Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS) <X64>(1 rows affected)
SQL シェルを終了してコマンドラインに戻るには、次のように入力します。
EXIT
Prisma Client を SQL Server で使用している場合は、SQL Server コネクタを使用して、接続、モデルのマッピング、およびデータの管理を行うことができます。
新規プロジェクトまたは既存のプロジェクトで Prisma を Microsoft SQL Server と共に使用する方法については、ガイドも参照してください。
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-python2 /usr/bin/python2Enter 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 hyperthreaded7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum8) 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):
有料ライセンスをお持ちの場合は、適切なバージョンを選択できます。非実稼働環境でサーバーを使用している場合は、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=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:12Copyright (C) 2019 Microsoft CorporationDeveloper Edition (64-bit) on Linux (CentOS Linux 8) <X64>(1 rows affected)
SQL シェルを終了してコマンドラインに戻るには、次のように入力します。
EXIT
Prisma Client を SQL Server で使用している場合は、SQL Server コネクタを使用して、接続、モデルのマッピング、およびデータの管理を行うことができます。
新規プロジェクトまたは既存のプロジェクトで Prisma を Microsoft SQL Server と共に使用する方法については、ガイドも参照してください。
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 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>"
コンテナ内の SQL Server に対して認証され、SQL シェルにドロップされます。すべてが起動して実行されていることを確認するには、次のように入力します。
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)Jan 25 2021 20:16:12Copyright (C) 2019 Microsoft CorporationDeveloper 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 独自のドキュメントをご覧ください。
Prisma Client を SQL Server で使用している場合は、SQL Server コネクタを使用して、接続、モデルのマッピング、およびデータの管理を行うことができます。
新規プロジェクトまたは既存のプロジェクトで Prisma を Microsoft SQL Server と共に使用する方法については、ガイドも参照してください。
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 の任意のディスプレイに追加できます。