Megosztás:


Példa: Felügyelet nélküli SQL Server telepítési szkript Red Hat Enterprise Linuxhoz

A következőkre vonatkozik:SQL Server Linux rendszeren

Ez a bash-példaszkript interaktív bemenet nélkül telepíti az SQL Servert Red Hat Enterprise Linuxra (RHEL). Példákat tartalmaz az adatbázismotor, az SQL Server parancssori eszközeinek, az SQL Server Agentnek a telepítés utáni végrehajtására. Igény szerint telepítheti a teljes szöveges keresést, és létrehozhat egy rendszergazda felhasználót.

Borravaló

Ha nincs szüksége felügyelet nélküli telepítési szkriptre, az SQL Server telepítésének leggyorsabb módja az SQL Server telepítése és adatbázis létrehozása a Red Hat Enterprise Linuxon. További beállítási információkért tekintse meg Linuxsql server telepítési útmutatóját.

Előfeltételek

  • Az SQL Server Linuxon való futtatásához legalább 2 GB memóriára van szüksége.
  • A fájlrendszernek XFS-nek vagy ext4-nek kell lennie. Más fájlrendszerek, például BTRFS, nem támogatottak.
  • További rendszerkövetelmények: LinuxSQL Server rendszerkövetelményei.

Példaszkript

Ez a példa telepíti az SQL Server 2019-et (15.x) az RHEL 8.x-re. Ha az SQL Server vagy az RHEL másik verzióját szeretné telepíteni, ennek megfelelően módosítsa a Microsoft-adattár elérési útját.

Mentse a mintaszkriptet egy fájlba. A testreszabáshoz cserélje le a változóértékeket a szkriptben. A szkriptelési változókat környezeti változókként is beállíthatja, ha eltávolítja őket a szkriptfájlból.

Fontos

A SA_PASSWORD környezeti változó elavult. Használjon inkább MSSQL_SA_PASSWORD.

A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.

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

A szkript futtatása

A szkript futtatásához:

  1. Illessze be a mintát a kedvenc szövegszerkesztőjébe, és mentse egy emlékezetes névvel, például install_sql.sh.

  2. Testre szabhatja MSSQL_SA_PASSWORD, MSSQL_PIDés a módosítani kívánt többi változót.

    Figyelem

    A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.

  3. Jelölje meg a szkriptet végrehajthatóként:

    chmod +x install_sql.sh
    
  4. Futtassa a szkriptet:

    ./install_sql.sh
    

A szkript ismertetése

A bash-szkript első lépése néhány változó beállítása. Ezek a változók lehetnek szkriptelési változók, például a minta vagy a környezeti változók. Az SQL Server telepítése megköveteli a MSSQL_SA_PASSWORD változót . A többiek a szkripthez létrehozott egyéni változók. A mintaszkript a következő lépéseket hajtja végre:

  1. Importálja a nyilvános Microsoft GPG-kulcsokat.

  2. Regisztrálja az SQL Server Microsoft-adattárait és a parancssori eszközöket.

  3. Frissítse a helyi adattárakat.

  4. Telepítse az SQL Servert.

  5. Konfigurálja az SQL Servert a MSSQL_SA_PASSWORD elemen, és automatikusan fogadja el a End-User licencszerződést.

  6. Automatikusan fogadja el a End-User licencszerződést az SQL Server parancssori eszközeihez, telepítse őket, és telepítse a unixODBC-devel csomagot.

  7. A könnyű használat érdekében adja hozzá az SQL Server parancssori eszközeit az elérési úthoz.

  8. Alapértelmezés szerint engedélyezze az SQL Server-ügynököt, ha a szkriptelési változó be van kapcsolva SQL_ENABLE_AGENT.

  9. Ha a SQL_INSTALL_FULLTEXT változó be van állítva, telepítse az SQL Server Full-Text keresést.

  10. Oldja fel a TCP 1433-ás portjának letiltását a rendszer tűzfalán, amely szükséges ahhoz, hogy egy másik rendszerről csatlakozzon az SQL Serverhez.

  11. Ha szükséges, állítsa be a nyomkövetési jelzőket a holtpont nyomon követéséhez (a vonalak kibontását igényli).

  12. Az SQL Server telepítve van, hogy működőképes legyen, indítsa újra a folyamatot.

  13. Ellenőrizze, hogy az SQL Server megfelelően van-e telepítve, miközben elrejti a hibaüzeneteket.

  14. Hozzon létre egy új kiszolgálói rendszergazdai felhasználót, ha SQL_INSTALL_USER és SQL_INSTALL_USER_PASSWORD is be van állítva.

Felügyelet nélküli telepítés

Egyszerűsítse több felügyelet nélküli telepítést, és hozzon létre egy különálló bash-szkriptet, amely beállítja a megfelelő környezeti változókat. Eltávolíthatja a mintaszkript által használt változókat, és elhelyezheti őket a saját bash-szkriptjükben.

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

Figyelem

A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.

Ezután futtassa a bash-szkriptet az alábbiak szerint:

. ./my_script_name.sh