Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server i Linux
Det här bash-exempelskriptet installerar SQL Server på Red Hat Enterprise Linux (RHEL) utan interaktiva indata. Den ger exempel på installation av Database Engine, kommandoradsverktyg för SQL Server och SQL Server Agent, samt utförande av steg efter installation. Du kan valfritt installera SQL Server Full-Text Search och skapa en administratörsanvändare.
Tip
Om du inte behöver ett obevakat installationsskript är det snabbaste sättet att installera SQL Server att följa snabbstarten: Installera SQL Server och skapa en databas i Red Hat Enterprise Linux. Mer information om installation finns i Installationsvägledning för SQL Server på Linux.
Förutsättningar
- Du behöver minst 2 GB minne för att köra SQL Server på Linux.
- Filsystemet måste vara XFS eller ext4. Andra filsystem, till exempel BTRFS, stöds inte.
- Andra systemkrav finns i Systemkrav för SQL Server på Linux.
Exempelskript
I det här exemplet installeras SQL Server 2019 (15.x) på RHEL 8.x. Om du vill installera en annan version av SQL Server eller RHEL ändrar du Sökvägarna för Microsoft-lagringsplatsen i enlighet med detta.
Spara exempelskriptet i en fil. För att anpassa det måste du ersätta variablevärdena i skriptet. Du kan också ange någon av skriptvariablerna som miljövariabler, så länge du tar bort dem från skriptfilen.
Important
Miljövariabeln SA_PASSWORD är inaktuell. Använd MSSQL_SA_PASSWORD i stället.
Lösenordet bör följa SQL Server-standardprincipen för lösenord. Lösenordet måste som standard vara minst åtta tecken långt och innehålla tecken från tre av följande fyra uppsättningar: versaler, gemener, bas-10 siffror och symboler. Lösenord kan vara upp till 128 tecken långa. Använd lösenord som är så långa och komplexa som möjligt.
#!/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 -ne 0 ]
do
echo Waiting for SQL Server to start...
sleep 5s
if /opt/mssql-tools/bin/sqlcmd \
-S localhost \
-U sa \
-P $MSSQL_SA_PASSWORD \
-Q "SELECT @@VERSION" 2>/dev/null
then
errstatus=0
else
errstatus=$?
fi
((counter++))
done
# Display error if connection failed:
if [ $errstatus -ne 0 ]
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!
Kör skriptet
Så här kör du skriptet:
Klistra in exemplet i din favorittextredigerare och spara det med ett minnesvärt namn, till exempel
install_sql.sh.Anpassa
MSSQL_SA_PASSWORD,MSSQL_PIDoch någon av de andra variabler som du vill ändra.Caution
Lösenordet bör följa SQL Server-standardprincipen för lösenord. Lösenordet måste som standard vara minst åtta tecken långt och innehålla tecken från tre av följande fyra uppsättningar: versaler, gemener, bas-10 siffror och symboler. Lösenord kan vara upp till 128 tecken långa. Använd lösenord som är så långa och komplexa som möjligt.
Markera skriptet som körbart:
chmod +x install_sql.shKör skriptet:
./install_sql.sh
Förstå skriptet
Det första bash-skriptet gör är att ange några variabler. Dessa variabler kan vara antingen skriptvariabler, t.ex. exempelvariabler eller miljövariabler. Variabeln MSSQL_SA_PASSWORD är nödvändig för installationen av SQL Server. De andra är anpassade variabler som skapats för skriptet. Exempelskriptet utför följande steg:
Registrera Microsoft-lagringsplatserna för SQL Server och kommandoradsverktygen.
Installera SQL Server.
Konfigurera SQL Server med
MSSQL_SA_PASSWORDoch godkänn automatiskt licensavtalet för End-User.Godkänn automatiskt End-User licensavtalet för SQL Server-kommandoradsverktygen, installera dem och installera
unixODBC-devel-paketet.Lägg till SQL Server-kommandoradsverktygen i sökvägen för enkel användning.
Aktivera SQL Server Agent om skriptvariabeln
SQL_ENABLE_AGENTär satt. Exemplet anger det som standard.Installera SQL Server Full-Text Search om variabeln
SQL_INSTALL_FULLTEXTär inställd.Avblockera port 1433 för TCP i systembrandväggen, som krävs för att ansluta till SQL Server från ett annat system.
Du kan ange spårningsflaggor för dödlägesanalys (kräver att raderna avkommenteras).
Starta om SQL Server-tjänsten efter att ha gjort konfigurationsändringar.
Kontrollera att SQL Server är korrekt installerat och dölj eventuella felmeddelanden.
Skapa en ny serveradministratörsanvändare om både
SQL_INSTALL_USERochSQL_INSTALL_USER_PASSWORDhar angetts.
Installation utan tillsyn
Förenkla flera obevakade installationer och skapa ett fristående bash-skript som anger rätt miljövariabler. Du kan ta bort någon av variablerna som exempelskriptet använder och placera dem i ett eget bash-skript.
#!/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>'
Caution
Lösenordet bör följa SQL Server-standardprincipen för lösenord. Lösenordet måste som standard vara minst åtta tecken långt och innehålla tecken från tre av följande fyra uppsättningar: versaler, gemener, bas-10 siffror och symboler. Lösenord kan vara upp till 128 tecken långa. Använd lösenord som är så långa och komplexa som möjligt.
Kör sedan bash-skriptet på följande sätt:
. ./my_script_name.sh