Sdílet prostřednictvím


Ukázka: Bezobslužný instalační skript SQL Serveru pro Red Hat Enterprise Linux

platí pro:SQL Server – Linux

Tento ukázkový skript Bash nainstaluje SQL Server na Red Hat Enterprise Linux (RHEL) bez interaktivního vstupu. Poskytuje příklady instalace databázového stroje, nástrojů příkazového řádku SQL Serveru, agenta SQL Serveru a provedení kroků po instalaci. Volitelně můžete nainstalovat fulltextové vyhledávání a vytvořit správce.

Spropitné

Pokud nepotřebujete bezobslužný instalační skript, nejrychlejší způsob instalace SQL Serveru je postupovat podle rychlého startu: Instalace SQL Serveru a vytvoření databáze v Red Hat. Další informace o nastavení najdete v tématu Pokyny k instalaci SQL Serveru v systému Linux.

Požadavky

  • Ke spuštění SQL Serveru v Linuxu potřebujete alespoň 2 GB paměti.
  • Systém souborů musí být XFS nebo EXT4. Jiné systémy souborů, například BTRFS, nejsou podporovány.
  • Další požadavky na systém najdete v tématu Požadavky na systém pro SQL Server v systému Linux.

Ukázkový skript

Tento příklad nainstaluje SQL Server 2019 (15.x) na RHEL 8.x. Pokud chcete nainstalovat jinou verzi SQL Serveru nebo RHEL, odpovídajícím způsobem změňte cesty k úložišti Microsoftu.

Uložte ukázkový skript do souboru. Chcete-li ji přizpůsobit, je nutné nahradit hodnoty proměnných ve skriptu. Můžete také nastavit libovolnou skriptovací proměnnou jako proměnné prostředí, pokud je ze souboru skriptu odeberete.

Důležitý

Proměnná prostředí SA_PASSWORD je zastaralá. Místo toho použijte MSSQL_SA_PASSWORD.

Vaše heslo by mělo postupovat podle výchozích zásad hesel SQL Serveru . Ve výchozím nastavení musí heslo obsahovat alespoň osm znaků a musí obsahovat znaky ze tří z následujících čtyř sad: velká písmena, malá písmena, číslice se základem 10 a symboly. Hesla můžou mít délku až 128 znaků. Používejte hesla, která jsou co nejdéle a složitá.

#!/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 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!

Spuštění skriptu

Spuštění skriptu:

  1. Vložte ukázku do svého oblíbeného textového editoru a uložte ho s zapamatovatelným názvem, například install_sql.sh.

  2. Přizpůsobte MSSQL_SA_PASSWORD, MSSQL_PIDa kteroukoli z dalších proměnných, které chcete změnit.

    Opatrnost

    Vaše heslo by mělo postupovat podle výchozích zásad hesel SQL Serveru . Ve výchozím nastavení musí heslo obsahovat alespoň osm znaků a musí obsahovat znaky ze tří z následujících čtyř sad: velká písmena, malá písmena, číslice se základem 10 a symboly. Hesla můžou mít délku až 128 znaků. Používejte hesla, která jsou co nejdéle a složitá.

  3. Označení skriptu jako spustitelného souboru

    chmod +x install_sql.sh
    
  4. Spuštění skriptu

    ./install_sql.sh
    

Vysvětlení skriptu

První věc, kterou skript Bash dělá, je nastavit několik proměnných. Tyto proměnné můžou být skriptovací proměnné, jako je ukázka, nebo proměnné prostředí. Proměnná MSSQL_SA_PASSWORD je vyžadovaná instalací SQL Serveru. Ostatní jsou vlastní proměnné vytvořené pro skript. Ukázkový skript provede následující kroky:

  1. Importujte veřejné klíče Microsoft GPG.

  2. Zaregistrujte úložiště Microsoftu pro SQL Server a nástroje příkazového řádku.

  3. Aktualizujte místní úložiště.

  4. Nainstalujte SQL Server.

  5. Nakonfigurujte SQL Server pomocí MSSQL_SA_PASSWORD a automaticky přijměte licenční smlouvu End-User.

  6. Automaticky přijměte licenční smlouvu End-User pro nástroje příkazového řádku SQL Serveru, nainstalujte je a nainstalujte balíček unixODBC-devel.

  7. Přidejte do cesty nástroje příkazového řádku SQL Serveru, abyste je mohli snadno používat.

  8. Povolte agenta SQL Serveru, pokud je ve výchozím nastavení nastavená proměnná skriptování SQL_ENABLE_AGENT.

  9. Volitelně nainstalujte vyhledávání serveru SQL Server Full-Text, pokud je proměnná SQL_INSTALL_FULLTEXT nastavena.

  10. Odblokujte port 1433 pro tcp v systémové bráně firewall, který je nezbytný pro připojení k SQL Serveru z jiného systému.

  11. Volitelně můžete nastavit příznaky trasování pro detekci zablokování (vyžaduje odkomentování řádků).

  12. SQL Server je teď nainstalovaný, aby byl funkční, restartujte proces.

  13. Ověřte, že je SQL Server nainstalován správně, a přitom skryjte všechny chybové zprávy.

  14. Pokud jsou nastavené SQL_INSTALL_USER i SQL_INSTALL_USER_PASSWORD, vytvořte nového uživatele správce serveru.

Bezobslužná instalace

Zjednodušte několik bezobslužných instalací a vytvořte samostatný skript Bash, který nastaví správné proměnné prostředí. Můžete odebrat libovolnou z proměnných, které ukázkový skript používá, a vložit je do vlastního skriptu Bash.

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

Opatrnost

Vaše heslo by mělo postupovat podle výchozích zásad hesel SQL Serveru . Ve výchozím nastavení musí heslo obsahovat alespoň osm znaků a musí obsahovat znaky ze tří z následujících čtyř sad: velká písmena, malá písmena, číslice se základem 10 a symboly. Hesla můžou mít délku až 128 znaků. Používejte hesla, která jsou co nejdéle a složitá.

Pak spusťte skript Bash následujícím způsobem:

. ./my_script_name.sh