Bagikan melalui


Sampel: Skrip penginstalan SQL Server tanpa pengawas untuk Red Hat Enterprise Linux

Berlaku untuk:SQL Server di Linux

Contoh skrip bash ini menginstal SQL Server di Red Hat Enterprise Linux (RHEL) tanpa input interaktif. Ini menyediakan contoh menginstal Mesin Database, alat baris perintah SQL Server, SQL Server Agent, dan melakukan langkah-langkah pasca-penginstalan. Anda dapat secara opsional menginstal pencarian teks lengkap dan membuat pengguna administratif.

Petunjuk / Saran

Jika Anda tidak memerlukan skrip penginstalan tanpa pengawas, cara tercepat untuk menginstal SQL Server adalah dengan mengikuti Mulai Cepat: Menginstal SQL Server dan membuat database di Red Hat Enterprise Linux. Untuk informasi penyiapan lainnya, lihat Panduan penginstalan untuk SQL Server di Linux.

Prasyarat

  • Anda memerlukan setidaknya 2 GB memori untuk menjalankan SQL Server di Linux.
  • Sistem file harus XFS atau ext4. Sistem file lain, seperti BTRFS, tidak didukung.
  • Untuk persyaratan sistem lainnya, lihat Persyaratan sistem untuk SQL Server di Linux.

Sampel skrip

Contoh ini menginstal SQL Server 2019 (15.x) pada RHEL 8.x. Jika Anda ingin menginstal versi SQL Server atau RHEL yang berbeda, ubah jalur repositori Microsoft yang sesuai.

Simpan sampel skrip ke file. Untuk menyesuaikannya, Anda harus mengganti nilai variabel dalam skrip. Anda juga dapat mengatur salah satu variabel pembuatan skrip sebagai variabel lingkungan, selama Anda menghapusnya dari file skrip.

Penting

Variabel SA_PASSWORD lingkungan tidak digunakan lagi. Gunakan MSSQL_SA_PASSWORD sebagai gantinya.

Kata sandi Anda harus mengikuti kebijakan kata sandi default SQL Server. Secara default, kata sandi harus panjangnya minimal delapan karakter dan berisi karakter dari tiga dari empat set berikut: huruf besar, huruf kecil, digit dasar-10, dan simbol. Panjang kata sandi bisa hingga 128 karakter. Gunakan kata sandi yang panjang dan kompleks mungkin.

#!/bin/bash -e

# Use the following variables to control your install:

# Password for the SA user (required)
MSSQL_SA_PASSWORD='<password>'

# 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'

# Enable SQL Server Agent (recommended)
SQL_ENABLE_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='<password>'

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/8/mssql-server-2019.repo
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/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
source ~/.bashrc

# Optional Enable SQL Server Agent:
if [ ! -z $SQL_ENABLE_AGENT ]
then
  echo Enable SQL Server Agent...
  sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
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 trace flag 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!

Jalankan skrip

Untuk menjalankan skrip:

  1. Tempelkan sampel ke editor teks favorit Anda dan simpan dengan nama yang mudah diingat, seperti install_sql.sh.

  2. Sesuaikan MSSQL_SA_PASSWORD, MSSQL_PID, dan salah satu variabel lain yang ingin Anda ubah.

    Perhatian

    Kata sandi Anda harus mengikuti kebijakan kata sandi default SQL Server. Secara default, kata sandi harus panjangnya minimal delapan karakter dan berisi karakter dari tiga dari empat set berikut: huruf besar, huruf kecil, digit dasar-10, dan simbol. Panjang kata sandi bisa hingga 128 karakter. Gunakan kata sandi yang panjang dan kompleks mungkin.

  3. Tandai skrip sebagai dapat dieksekusi:

    chmod +x install_sql.sh
    
  4. Jalankan skrip:

    ./install_sql.sh
    

Memahami skrip

Hal pertama yang dilakukan skrip bash adalah mengatur beberapa variabel. Variabel ini dapat berupa variabel pembuatan skrip, seperti sampel, atau variabel lingkungan. Variabel MSSQL_SA_PASSWORD diperlukan oleh penginstalan SQL Server. Yang lain adalah variabel kustom yang dibuat untuk skrip. Skrip sampel melakukan langkah-langkah berikut:

  1. Impor kunci GPG Microsoft publik.

  2. Daftarkan repositori Microsoft untuk SQL Server dan alat baris perintah.

  3. Perbarui repositori lokal.

  4. Instal SQL Server.

  5. Konfigurasikan SQL Server dengan MSSQL_SA_PASSWORD dan secara otomatis menerima Perjanjian Lisensi Pengguna Akhir.

  6. Secara otomatis menerima Perjanjian Lisensi Pengguna Akhir untuk alat baris perintah SQL Server, menginstal alat tersebut, dan menginstal paket unixODBC-devel.

  7. Tambahkan alat baris perintah SQL Server ke jalur untuk kemudahan penggunaan.

  8. Aktifkan SQL Server Agent jika variabel SQL_ENABLE_AGENT pembuatan skrip diatur, aktif secara default.

  9. Secara opsional instal pencarian Teks Lengkap SQL Server, jika variabel SQL_INSTALL_FULLTEXT diatur.

  10. Buka blokir port 1433 untuk TCP pada firewall sistem, yang diperlukan untuk terhubung ke SQL Server dari sistem lain.

  11. Anda dapat secara opsional mengatur flag pelacakan untuk pelacakan kebuntuan (memerlukan menghapus komentar pada baris).

  12. SQL Server sekarang diinstal, untuk membuatnya beroperasi, mulai ulang proses.

  13. Verifikasi bahwa SQL Server diinstal dengan benar, sambil menyembunyikan pesan kesalahan apa pun.

  14. Buat pengguna administrator server baru jika SQL_INSTALL_USER dan SQL_INSTALL_USER_PASSWORD keduanya diatur.

Memasang tanpa pengawas

Sederhanakan beberapa penginstalan tanpa pengawas dan buat skrip bash yang berdiri sendiri yang mengatur variabel lingkungan yang tepat. Anda dapat menghapus salah satu variabel yang digunakan skrip sampel dan memasukkannya ke dalam skrip bash mereka sendiri.

#!/bin/bash
export MSSQL_SA_PASSWORD='<password>'
export MSSQL_PID='evaluation'
export SQL_ENABLE_AGENT='y'
export SQL_INSTALL_USER='<Username>'
export SQL_INSTALL_USER_PASSWORD='<password>'

Perhatian

Kata sandi Anda harus mengikuti kebijakan kata sandi default SQL Server. Secara default, kata sandi harus panjangnya minimal delapan karakter dan berisi karakter dari tiga dari empat set berikut: huruf besar, huruf kecil, digit dasar-10, dan simbol. Panjang kata sandi bisa hingga 128 karakter. Gunakan kata sandi yang panjang dan kompleks mungkin.

Kemudian jalankan skrip bash sebagai berikut:

. ./my_script_name.sh