Red Hat Enterprise Linux 用のサンプル: SQL Server の無人インストール スクリプトSample: Unattended SQL Server installation script for Red Hat Enterprise Linux

このトピックに適用されますはいSQL Server (Linux の場合のみ)ありませんAzure SQL DatabaseありませんAzure SQL Data Warehouseありません。並列データ ウェアハウス THIS TOPIC APPLIES TO: yesSQL Server (Linux only)noAzure SQL DatabasenoAzure SQL Data WarehousenoParallel Data Warehouse

このサンプル Bash スクリプトにより、対話型入力をすることなく Red Hat Enterprise Linux (RHEL) に SQL Server 2017 をインストールできます。This sample Bash script installs SQL Server 2017 on Red Hat Enterprise Linux (RHEL) without interactive input. データベース エンジン、SQL Server エージェント、SQL Server コマンド ライン ツールのインストールの例を紹介し、インストール後の手順を実行します。It provides examples of installing the database engine, the SQL Server command-line tools, SQL Server Agent, and performs post-install steps. 必要に応じて、フルテキスト検索をインストールし、管理ユーザーを作成できます。You can optionally install full-text search and create an administrative user.


無人インストール スクリプトを必要としない場合、SQL Server をインストールする最も素早い方法は、 Red Hat のクイック スタート チュートリアル に従うことです。If you do not need an unattended installation script, the fastest way to install SQL Server is to follow the quickstart for Red Hat. その他のセットアップの情報については、 Linux 上の SQL Server のインストールのガイダンス を参照してください。For other setup information, see Installation guidance for SQL Server on Linux.


  • Linux 上の SQL Server を実行するには、少なくとも 2 GB のメモリを必要とします。You need at least 2 GB of memory to run SQL Server on Linux.
  • ファイル システムは XFS または EXT4 でなければいけません。The file system must be XFS or EXT4. BTRFS といったその他のファイル システムはサポートされていません。Other file systems, such as BTRFS, are unsupported.
  • その他のシステム要件については、Linux 上の SQL Server のシステム要件 を参照してください。For other system requirements, see System requirements for SQL Server on Linux.

サンプル スクリプトSample script

サンプルスクリプトをファイルに保存し、それをカスタマイズします。スクリプト内の変数の値を置き換えます。Save the sample script to a file and then to customize it, replace the variable values in the script. スクリプト内のいずれの変数も、スクリプトファイルから変数の値を削除する限り、環境変数として設定することができます。You can also set any of the scripting variables as environment variables, as long as you remove them from the script file.

#!/bin/bash -e

# Use the following variables to control your install:

# Password for the SA user (required)

# Product ID of the version of SQL server you're installing
# Must be evaluation, developer, express, web, standard, enterprise, or your 25 digit product key
# Defaults to developer

# Install SQL Server Agent (recommended)

# Install SQL Server Full Text Search (optional)

# Create an additional user with sysadmin privileges (optional)
# SQL_INSTALL_USER='<Username>'
# SQL_INSTALL_USER_PASSWORD='<YourStrong!Passw0rd>'

  echo Environment variable MSSQL_SA_PASSWORD must be set for unattended install
  exit 1

echo Adding Microsoft repositories...
sudo curl -o /etc/yum.repos.d/mssql-server.repo
sudo curl -o /etc/yum.repos.d/msprod.repo

echo Installing SQL Server...
sudo yum install -y mssql-server

echo Running mssql-conf setup...
     /opt/mssql/bin/mssql-conf -n setup accept-eula

echo Installing mssql-tools and unixODBC developer...
sudo ACCEPT_EULA=Y yum install -y mssql-tools unixODBC-devel

# Add SQL Server tools to the path by default:
echo Adding SQL Server tools to your path...
echo PATH="$PATH:/opt/mssql-tools/bin" >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc

# Optional SQL Server Agent installation:
if [ ! -z $SQL_INSTALL_AGENT ]
  echo Installing SQL Server Agent...
  sudo yum install -y mssql-server-agent

# Optional SQL Server Full Text Search installation:
    echo Installing SQL Server Full-Text Search...
    sudo yum install -y mssql-server-fts

# Configure firewall to allow TCP port 1433:
echo Configuring firewall to allow traffic on port 1433...
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

# Example of setting post-installation configuration options
# Set trace flags 1204 and 1222 for deadlock tracing:
#echo Setting trace flags...
#sudo /opt/mssql/bin/mssql-conf traceflag 1204 1222 on

# Restart SQL Server after making configuration changes:
echo Restarting SQL Server...
sudo systemctl restart mssql-server

# Connect to server and get the version:
while [ $counter -le 5 ] && [ $errstatus = 1 ]
  echo Waiting for SQL Server to start...
  sleep 5s
  /opt/mssql-tools/bin/sqlcmd \
    -S localhost \
    -U SA \
    -Q "SELECT @@VERSION" 2>/dev/null

# Display error if connection failed:
if [ $errstatus = 1 ]
  echo Cannot connect to SQL Server, installation aborted
  exit $errstatus

# Optional new user creation:
  echo Creating user $SQL_INSTALL_USER
  /opt/mssql-tools/bin/sqlcmd \
    -S localhost \
    -U SA \

echo Done!

スクリプトを実行します。Running the script

スクリプトを実行するにはTo run the script

  1. サンプルをお気に入りのテキストエディターに貼り付け、 といった覚えやすい名前で保存します。Paste the sample into your favorite text editor and save it with a memorable name, like

  2. MSSQL_SA_PASSWORDMSSQL_PID、および変更したいその他の変数をカスタマイズします。Customize MSSQL_SA_PASSWORD, MSSQL_PID, and any of the other variables you'd like to change.

  3. スクリプトを実行可能としてマークしますMark the script as executable

    chmod +x
  4. スクリプトを実行します。Run the script


スクリプトを理解します。Understanding the script

Bash スクリプトでは、まず変数を設定します。The first thing the Bash script does is set a few variables. これらの変数は、このサンプルのようにスクリプト変数として指定することもできますし、環境変数として指定することもできます。These can be either scripting variables, like the sample, or environment variables. 変数 MSSQL_SA_PASSWORD は SQL Server インストールでは 必須 です。その他は、スクリプト用に作成されたカスタム変数です。The variable MSSQL_SA_PASSWORD is required by SQL Server installation, the others are custom variables created for the script. サンプル スクリプトは、次の手順を実行します。The sample script performs the following steps:

  1. Microsoft GPG の公開鍵をインポートします。Import the public Microsoft GPG keys.

  2. SQL Server とコマンド ライン ツールの Microsoft のリポジトリを登録します。Register the Microsoft repositories for SQL Server and the command-line tools.

  3. ローカル リポジトリを更新します。Update the local repositories

  4. SQL Server をインストールするInstall SQL Server

  5. MSSQL_SA_PASSWORD で SQL Server を構成し、使用許諾契約書に自動的に同意します。Configure SQL Server with the MSSQL_SA_PASSWORD and automatically accept the End-User License Agreement.

  6. SQL Server コマンド ライン ツールの使用許諾契約書に自動的に同意し、インストールを行い、unixodbc-devel パッケージをインストールします。Automatically accept the End-User License Agreement for the SQL Server command-line tools, install them, and install the unixodbc-dev package.

  7. SQL Server コマンド ライン ツールを使いやすくするために、パスに追加します。Add the SQL Server command-line tools to the path for ease of use.

  8. スクリプト変数 SQL_INSTALL_AGENT が設定されている場合もしくはデフォルトで、SQL Server エージェントをインストールします。Install the SQL Server Agent if the scripting variable SQL_INSTALL_AGENT is set, on by default.

  9. 変数 SQL_INSTALL_FULLTEXT が設定されている場合、SQL Server フルテキスト検索をインストールすることもできます。Optionally install SQL Server Full-Text search, if the variable SQL_INSTALL_FULLTEXT is set.

  10. 別のシステムから SQL Server に接続するために必要な tcp ポート 1433 のブロックをファイアウォール上で解除します。Unblock port 1433 for TCP on the system firewall, necessary to connect to SQL Server from another system.

  11. 必要に応じてデッドロック トレースのトレース フラグを設定します。Optionally set trace flags for deadlock tracing. (行のコメントを解除する必要があります)(requires uncommenting the lines)

  12. これで SQL Server がインストールされました。利用できるようにするために、プロセスを再起動します。SQL Server is now installed, to make it operational, restart the process.

  13. すべてのエラー メッセージを非表示にし、 SQL Server が正しくインストールされていることを確認します。Verify that SQL Server is installed correctly, while hiding any error messages.

  14. SQL_INSTALL_USERSQL_INSTALL_USER_PASSWORD がどちらも設定されている場合、新しいサーバー管理者のユーザーを作成します。Create a new server administrator user if SQL_INSTALL_USER and SQL_INSTALL_USER_PASSWORD are both set.

次の手順Next steps

複数回の無人インストールを簡略化し、適切な環境変数を設定するスタンドアロン Bash スクリプトを作成します。Simplify multiple unattended installs and create a stand-alone Bash script that sets the proper environment variables. サンプル スクリプトが使用している変数はいずれも削除することができ、独自の Bash スクリプトに配置することができます。You can remove any of the variables the sample script uses and put them in their own Bash script.

export MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>'
export MSSQL_PID='evaluation'
export SQL_INSTALL_USER='<Username>'
export SQL_INSTALL_USER_PASSWORD='<YourStrong!Passw0rd>'

その後、次のようにBash スクリプトを実行します。Then run the Bash script as follows:

. ./

Linux 上の SQL Server に関する詳細については、次を参照してください。 SQL Server on Linux の概要です。For more information about SQL Server on Linux, see SQL Server on Linux overview.