Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:Program SQL Server w systemie Linux
Ten przykładowy skrypt powłoki Bash instaluje SQL Server 2022 (16.x) na systemie SUSE Linux Enterprise Server (SLES) bez interaktywnego wprowadzania danych. Zawiera przykłady instalacji Database Engine, narzędzi wiersza poleceń SQL Server oraz SQL Server Agent oraz wykonywania kroków po instalacji. Opcjonalnie możesz zainstalować wyszukiwanie pełnotekstowe i utworzyć użytkownika administracyjnego.
Note
Począwszy od SQL Server 2025 (17.x), system SUSE Linux Enterprise Server (SLES) nie jest obsługiwany.
Jeśli nie potrzebujesz skryptu instalacyjnego bez nadzoru, skorzystaj z szybkiego startu dla SLES. Aby uzyskać inne informacje o konfiguracji, zobacz wskazówki dotyczące instalacji programu dla programu SQL Server w systemie Linux.
Wymagania wstępne
- Do uruchomienia programu SQL Server w systemie Linux potrzebne jest co najmniej 2 GB pamięci.
- System plików musi być XFS lub ext4. Inne systemy plików, takie jak BTRFS, nie są obsługiwane.
- Aby zapoznać się z innymi wymaganiami systemowymi, zobacz Wymagania systemowe dotyczące programu SQL Server w systemie Linux.
Ważna
Program SQL Server wymaga libsss_nss_idmap0, którego nie zapewniają domyślne repozytoria SLES. Ten pakiet można zainstalować za pomocą zestawu SDK SLES.
Przykładowy skrypt
Ten przykład instaluje SQL Server 2022 (16.x) na SLES v15 SP6. Jeśli chcesz zainstalować inną wersję programu SQL Server lub SLES, zmień odpowiednio ścieżki repozytorium firmy Microsoft.
Zapisz przykładowy skrypt w pliku, a następnie dostosuj go. Zastąp wartości zmiennych w skrypcie. Można również ustawić dowolne zmienne skryptowe jako zmienne środowiskowe, o ile zostaną usunięte z pliku skryptu.
Ważna
Zmienna środowiskowa SA_PASSWORD jest przestarzała. Użyj MSSQL_SA_PASSWORD zamiast tego.
Hasło powinno być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe.
#!/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-2022.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
# Optionally enable SQL Server Agent:
if [ -n "$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 [ -n "$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 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 [ -n "$SQL_INSTALL_USER" ] && [ -n "$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!
Uruchamianie skryptu
Aby uruchomić skrypt:
Wklej przykład do ulubionego edytora tekstów i zapisz go z pamiętną nazwą, taką jak
install_sql.sh.Dostosuj
MSSQL_SA_PASSWORD,MSSQL_PIDi dowolną inną zmienną, którą chcesz zmienić.Oznacz skrypt jako plik wykonywalny:
chmod +x install_sql.shUruchom skrypt.
./install_sql.sh
Omówienie skryptu
Skrypt powłoki bash rozpoczyna się od ustawienia kilku zmiennych. Te zmienne mogą być zmiennymi skryptowymi, takimi jak przykład, lub zmienne środowiskowe. Skrypt wymaga zmiennej MSSQL_SA_PASSWORD do zainstalowania programu SQL Server. Skrypt używa zmiennych niestandardowych dla innych zmiennych.
Przykładowy skrypt wykonuje następujące kroki:
Zarejestruj repozytoria firmy Microsoft dla programu SQL Server i narzędzi wiersza polecenia.
Aktualizuj lokalne repozytoria i importuj publiczne klucze Microsoft GPG.
Zainstaluj program SQL Server.
Skonfiguruj program SQL Server przy użyciu
MSSQL_SA_PASSWORDi automatycznie zaakceptuj umowę licencyjną End-User.Automatycznie zaakceptuj umowę licencyjną End-User dla narzędzi wiersza polecenia programu SQL Server, zainstaluj je i zainstaluj pakiet
unixODBC-devel.Dodaj narzędzia wiersza polecenia programu SQL Server do ścieżki w celu ułatwienia użycia.
Włącz SQL Server Agent, jeśli zmienna
SQL_ENABLE_AGENTskryptowa jest ustawiona. Próbka ustawia ją domyślnie.Opcjonalnie zainstaluj składnik SQL Server Full-Text Search, jeśli zmienna
SQL_INSTALL_FULLTEXTjest ustawiona.Odblokuj port 1433 dla protokołu TCP w zaporze systemowej, co jest niezbędne do nawiązania połączenia z programem SQL Server z innego systemu.
Opcjonalnie ustaw flagi dla śledzenia zakleszczeń (wymaga odkomentowania wierszy).
Restartuj SQL Server po zmianie konfiguracji.
Sprawdź, czy program SQL Server jest poprawnie zainstalowany, ukrywając wszystkie komunikaty o błędach.
Utwórz nowego użytkownika administratora serwera, jeśli
SQL_INSTALL_USERiSQL_INSTALL_USER_PASSWORDsą ustawione.
Instalacja nienadzorowana
Uprość wiele nienadzorowanych instalacji, tworząc samodzielny skrypt bash, który ustawi odpowiednie zmienne środowiskowe. Możesz usunąć dowolne zmienne używane przez przykładowy skrypt i umieścić je we własnym skrypcie powłoki 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>'
Caution
Hasło powinno być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe.
Następnie uruchom skrypt Bash w następujący sposób:
. ./my_script_name.sh