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ありません。Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (Linux only)noAzure SQL DatabasenoAzure SQL Data WarehousenoParallel Data Warehouse

このサンプル バッシュ スクリプトは、対話型の入力なし 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 quick start tutorial for Red Hat. その他のセットアップについては、次を参照してください。 Linux 上の SQL Server のインストールのガイダンスです。For other setup information, see Installation guidance for SQL Server on Linux.

前提条件Prerequisites

  • 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 -eu

# Use the following variables to control your install:

# Password for the SA user (required)
MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>'

# 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
MSSQL_PID='evaluation'

# Install SQL Server Agent (recommended)
SQL_INSTALL_AGENT='y'

# Install SQL Server Full Text Search (optional)
# SQL_INSTALL_FULLTEXT='y'

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

if [ -z $MSSQL_SA_PASSWORD ]
then
  echo Environment variable MSSQL_SA_PASSWORD must be set for unattended install
  exit 1
fi

echo Adding Microsoft repositories...
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo

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

echo Running mssql-conf setup...
sudo MSSQL_SA_PASSWORD=$MSSQL_SA_PASSWORD \
     MSSQL_PID=$MSSQL_PID \
     /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 ]
then
  echo Installing SQL Server Agent...
  sudo yum install -y mssql-server-agent
fi

# Optional SQL Server Full Text Search installation:
if [ ! -z $SQL_INSTALL_FULLTEXT ]
then
    echo Installing SQL Server Full-Text Search...
    sudo yum install -y mssql-server-fts
fi

# 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:
counter=1
errstatus=1
while [ $counter -le 5 ] && [ $errstatus = 1 ]
do
  echo Waiting for SQL Server to start...
  sleep 5s
  /opt/mssql-tools/bin/sqlcmd \
    -S localhost \
    -U SA \
    -P $MSSQL_SA_PASSWORD \
    -Q "SELECT @@VERSION" 2>/dev/null
  errstatus=$?
  ((counter++))
done

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

# Optional new user creation:
if [ ! -z $SQL_INSTALL_USER ] && [ ! -z $SQL_INSTALL_USER_PASSWORD ]
then
  echo Creating user $SQL_INSTALL_USER
  /opt/mssql-tools/bin/sqlcmd \
    -S localhost \
    -U SA \
    -P $MSSQL_SA_PASSWORD \
    -Q "CREATE LOGIN [$SQL_INSTALL_USER] WITH PASSWORD=N'$SQL_INSTALL_USER_PASSWORD', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=ON, CHECK_POLICY=ON; ALTER SERVER ROLE [sysadmin] ADD MEMBER [$SQL_INSTALL_USER]"
fi

echo Done!

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

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

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

  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 install_sql.sh
    
  4. スクリプトを実行します。Run the script

    ./install_sql.sh
    

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

バッシュ スクリプトでは、最初の手順には、いくつかの変数が設定されます。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 の鍵は、公開キーをインポートします。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. SQL Server の構成、MSSQL_SA_PASSWORDし使用許諾契約書を自動的に同意します。Configure SQL Server with the MSSQL_SA_PASSWORD and automatically accept the End-User License Agreement.

  6. SQL Server コマンド ライン ツールの使用許諾契約書に同意自動的にしたり、インストール、および unixodbc デベロッパー パッケージをインストールします。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 Server エージェントのインストール スクリプト変数SQL_INSTALL_AGENTで既定で設定されます。Install the SQL Server Agent if the scripting variable SQL_INSTALL_AGENT is set, on by default.

  9. 場合、SQL Server フルテキスト検索を必要に応じてインストール変数SQL_INSTALL_FULLTEXTが設定されています。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

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

#!/bin/bash
export MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>'
export MSSQL_PID='evaluation'
export SQL_INSTALL_AGENT='y'
export SQL_INSTALL_USER='<Username>'
export SQL_INSTALL_USER_PASSWORD='<YourStrong!Passw0rd>'
export SQL_INSTALL_AGENT='y'

ようバッシュ スクリプトを実行します。Then run the Bash script as follows:

. ./my_script_name.sh

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