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 bash instaluje SQL Server w systemie Ubuntu bez potrzeby interakcyjnego wprowadzania danych. Zawiera przykłady instalacji Database Engine, narzędzi wiersza poleceń SQL Server, SQL Server Agent oraz wykonywania kroków po instalacji. Opcjonalnie możesz zainstalować wyszukiwanie pełnotekstowe i utworzyć użytkownika administracyjnego.
Wskazówka
Jeśli nie potrzebujesz skryptu instalacji nienadzorowanej, najszybszym sposobem zainstalowania programu SQL Server jest wykonanie czynności opisanych w przewodniku Szybki start dla systemu Ubuntu. 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, są nieobsługiwane.
- Aby zapoznać się z innymi wymaganiami systemowymi, zobacz Wymagania systemowe dotyczące programu SQL Server w systemie Linux.
Przykładowy skrypt
W tym przykładzie program SQL Server 2019 (15.x) jest instalowany w systemie Ubuntu Server 20.04. Jeśli chcesz zainstalować inną wersję programu SQL Server lub Ubuntu Server, zmień odpowiednio ścieżki repozytorium Firmy Microsoft.
Zapisz przykładowy skrypt do pliku i dostosuj go. Musisz zastąpić wartości zmiennych w skrypcie. Można również ustawić dowolne zmienne skryptowe jako zmienne środowiskowe, o ile zostaną usunięte z pliku skryptu.
Skrypt próbuje połączenie pięć razy, podczas gdy SQL Server się uruchamia. Jeśli wszystkie próby się nie powiedzą, skrypt kończy się ze statusem niezerowym.
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 evaluation
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...
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
repoargs="$(curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
sudo add-apt-repository "${repoargs}"
repoargs="$(curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"
sudo add-apt-repository "${repoargs}"
echo Running apt-get update -y...
sudo apt-get update -y
echo Installing SQL Server...
sudo apt-get 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 apt-get install -y mssql-tools unixodbc-dev
# 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 [ -n "$SQL_ENABLE_AGENT" ]
then
echo Enabling 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 apt-get install -y mssql-server-fts
fi
# Configure firewall to allow TCP port 1433:
echo Configuring UFW to allow traffic on port 1433...
sudo ufw allow 1433/tcp
sudo ufw reload
# Optional example of post-installation configuration.
# Trace flags 1204 and 1222 are for deadlock tracing.
# echo Setting trace flags...
# sudo /opt/mssql/bin/mssql-conf trace flag 1204 1222 on
# Restart SQL Server after installing:
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 3s
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 += 1))
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 [ -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
Pierwszą rzeczą, jaką wykonuje skrypt bash, jest ustawienie kilku zmiennych. Te zmienne mogą być zmiennymi skryptowymi, takimi jak przykład, lub zmienne środowiskowe. Zmienna MSSQL_SA_PASSWORD jest wymagana przez instalację programu SQL Server. Pozostałe są zmiennymi niestandardowymi utworzonymi dla skryptu. Przykładowy skrypt wykonuje następujące kroki:
Zaimportuj publiczne klucze gpG firmy Microsoft.
Zarejestruj repozytoria firmy Microsoft dla programu SQL Server i narzędzi wiersza polecenia.
Zaktualizuj repozytoria lokalne.
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-dev.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. Zmienna jest ustawiona 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).
Uruchom ponownie program SQL Server.
Sprawdź, czy SQL Server jest poprawnie zainstalowany, jednocześnie ukrywając komunikaty o błędach połączenia podczas prób.
Utwórz nowego użytkownika administratora serwera, jeśli
SQL_INSTALL_USERiSQL_INSTALL_USER_PASSWORDsą ustawione.
Instalacja nienadzorowana
Uprość proces wielu nienadzorowanych instalacji i utwórz autonomiczny skrypt bash, który ustawi odpowiednie zmienne środowiskowe. Możesz usunąć dowolne zmienne używane przez przykładowy skrypt i umieścić je w oddzielnym skrypcie bashowym.
#!/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