Sdílet prostřednictvím


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

platí pro:SQL Server – Linux

Tento ukázkový skript Bash nainstaluje SQL Server na SUSE Linux Enterprise Server (SLES) 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 pro SLES. 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.

Důležitý

SQL Server vyžaduje libsss_nss_idmap0, který není ve výchozím úložišti SLES k dispozici. Můžete ho nainstalovat ze sady SDK SLES.

Ukázkový skript

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

Uložte ukázkový skript do souboru a pak ho upravte. Hodnoty proměnných ve skriptu musíte nahradit. 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 zypper addrepo -fc https://packages.microsoft.com/config/sles/15/mssql-server-2019.repo
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/prod.repo
sudo zypper --gpg-auto-import-keys refresh

#Add the SLES v15 SP6 SDK to obtain libsss_nss_idmap0
sudo SUSEConnect -p sle-sdk/15.3/x86_64

echo Installing SQL Server...
sudo zypper 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 zypper 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 zypper install -y mssql-server-fts
fi

# Configure firewall to allow TCP port 1433:
echo Configuring SuSEfirewall2 to allow traffic on port 1433...
sudo SuSEfirewall2 open INT TCP 1433
sudo SuSEfirewall2 stop
sudo SuSEfirewall2 start

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

  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 SQL Server Full-Text pro vyhledávání, je-li nastavená proměnná SQL_INSTALL_FULLTEXT.

  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 pro sledování zablokování (vyžaduje odstranění komentářů z řádků).

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

  13. Ověřte, že je SQL Server nainstalován správně, přičemž skryjete 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