Megosztás a következőn keresztül:


Példa: Felügyelet nélküli SQL Server telepítési szkript a SUSE Linux Enterprise Serverhez

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

Ez a bash-példaszkript interaktív bemenet nélkül telepíti az SQL Servert a SUSE Linux Enterprise Serverre (SLES). 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 SLES rövid útmutatójának követése. 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.

Fontos

Az SQL Serverhez libsss_nss_idmap0szükséges, amelyet az alapértelmezett SLES-adattárak nem biztosítanak. Az SLES SDK-ból telepítheti.

Példaszkript

Ez a példa telepíti az SQL Server 2019-et (15.x) az SLES v15 SP6-ra. Ha az SQL Server vagy az SLES egy 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, majd szabja testre. A változóértékeket a szkriptben kell lecserélni. 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 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!

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.

  3. A szkript megjelölése végrehajthatóként

    chmod +x install_sql.sh
    
  4. A szkript futtatása

    ./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éséhez szükséges a(z) MSSQL_SA_PASSWORD változó . 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-mal, é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