Aracılığıyla paylaş


Örnek: SUSE Linux Enterprise Server için katılımsız SQL Server kurulum komut dosyası

Şunlar için geçerlidir:Linux üzerinde SQL Server

Bu örnek bash betiği, etkileşimli giriş olmadan SUSE Linux Enterprise Server'a (SLES) SQL Server 2022 (16.x) yükler. Veritabanı Altyapısı'nı, SQL Server komut satırı araçlarını, SQL Server Aracısı'nı yükleme örnekleri sağlar ve yükleme sonrası adımları gerçekleştirir. İsteğe bağlı olarak tam metin araması yükleyebilir ve bir yönetici kullanıcı oluşturabilirsiniz.

Uyarı

SQL Server 2025'te (17.x) başlayarak SUSE Linux Enterprise Server (SLES) desteklenmez.

Katılımsız yükleme betiğine ihtiyacınız yoksa, SQL Server'ı yüklemenin en hızlı yolu SLES içinhızlı başlangıç kılavuzunu takip etmektir. Diğer kurulum bilgileri için bkz. Linuxüzerinde SQL Server yükleme kılavuzu.

Önkoşullar

  • Linux üzerinde SQL Server çalıştırmak için en az 2 GB belleğe ihtiyacınız vardır.
  • Dosya sistemi XFS veya ext4 olmalıdır. BTRFS gibi diğer dosya sistemleri desteklenmez.
  • Diğer sistem gereksinimleri için bkz. Linux üzerinde SQL Server için sistem gereksinimleri.

Önemli

SQL Server, varsayılan SLES depolarının sağlamadığı libsss_nss_idmap0 gerektirir. Bu paketi SLES SDK'sından yükleyebilirsiniz.

Örnek senaryo

Bu örnek, SLES v15 SP6 üzerine SQL Server 2019 (15.x) yükler. SQL Server veya SLES'in farklı bir sürümünü yüklemek istiyorsanız, Microsoft depo yollarını buna göre değiştirin.

Örnek betiği bir dosyaya kaydedin ve özelleştirin. Betikteki değişken değerlerini değiştirin. Betik değişkenlerinden herhangi birini, betik dosyasından kaldırdığınız sürece ortam değişkenleri olarak da ayarlayabilirsiniz.

Önemli

SA_PASSWORD ortam değişkeni kullanım dışıdır. Bunun yerine MSSQL_SA_PASSWORD kullanın.

Parolanız, SQL Server varsayılanparola ilkesine uygun olmalıdır. Varsayılan olarak, parola en az sekiz karakter uzunluğunda olmalı ve şu dört kümeden üçünün karakterlerini içermelidir: büyük harfler, küçük harfler, 10 tabanındaki basamaklar ve simgeler. Parolalar en çok 128 karakter uzunluğunda olabilir. Mümkün olduğunca uzun ve karmaşık parolalar kullanın.

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

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

Script'i çalıştırın

Betiği çalıştırmak için:

  1. Örneği sık kullandığınız metin düzenleyicinize yapıştırın ve install_sql.shgibi akılda kalıcı bir adla kaydedin.

  2. MSSQL_SA_PASSWORD, MSSQL_PIDve değiştirmek istediğiniz diğer değişkenleri özelleştirin.

  3. Betiği yürütülebilir olarak işaretleyin.

    chmod +x install_sql.sh
    
  4. Scripti çalıştırın.

    ./install_sql.sh
    

Betiği anlama

Bash betiği birkaç değişken ayarlayarak başlar. Bu değişkenler, örnek gibi betik değişkenleri veya ortam değişkenleri olabilir. Betik, MSSQL_SA_PASSWORD değişkeni SQL Server'ın yüklenmesi için gerektirir. Betik, diğer değişkenlerin yerine özel tanımlı değişkenler kullanır.

Örnek betik aşağıdaki adımları gerçekleştirir:

  1. Genel Microsoft GPG anahtarlarını içeri aktarın.

  2. SQL Server için Microsoft depolarını ve komut satırı araçlarını kaydedin.

  3. Yerel depoları güncelleştirin.

  4. SQL Server'ı yükleyin.

  5. SQL Server'ı MSSQL_SA_PASSWORD yapılandırın ve End-User Lisans Sözleşmesi'ni otomatik olarak kabul edin.

  6. SQL Server komut satırı araçları için End-User Lisans Sözleşmesi'ni otomatik olarak kabul edin, yükleyin ve unixODBC-devel paketini yükleyin.

  7. Kullanım kolaylığı için SQL Server komut satırı araçlarını yola ekleyin.

  8. betik değişkeni SQL_ENABLE_AGENT ayarlandıysa SQL Server Aracısı'nı varsayılan olarak etkinleştirin.

  9. SQL_INSTALL_FULLTEXT değişkeni ayarlandıysa isteğe bağlı olarak SQL Server Full-Text araması yükleyin.

  10. Başka bir sistemden SQL Server'a bağlanmak için gerekli olan sistem güvenlik duvarında TCP için 1433 numaralı bağlantı noktasının engellemesini kaldırın.

  11. İsteğe bağlı olarak kilitlenme izleme için izleme bayrakları ayarlayın (satırların açıklamasını kaldırmanız gerekir).

  12. SQL Server artık yüklü. Bunu çalışır duruma getirmek için işlemi yeniden başlatın.

  13. Hata iletilerini gizlerken SQL Server'ın doğru yüklendiğini doğrulayın.

  14. hem SQL_INSTALL_USER hem de SQL_INSTALL_USER_PASSWORD ayarlandıysa yeni bir sunucu yöneticisi kullanıcısı oluşturun.

Katılımsız yükleme

Uygun ortam değişkenlerini ayarlayan tek başına bir bash betiği oluşturarak birden çok katılımsız yüklemeyi basitleştirin. Örnek betiğin kullandığı değişkenlerden herhangi birini kaldırabilir ve bunları kendi bash betiğinize yerleştirebilirsiniz.

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

Dikkat

Parolanız, SQL Server varsayılanparola ilkesine uygun olmalıdır. Varsayılan olarak, parola en az sekiz karakter uzunluğunda olmalı ve şu dört kümeden üçünün karakterlerini içermelidir: büyük harfler, küçük harfler, 10 tabanındaki basamaklar ve simgeler. Parolalar en çok 128 karakter uzunluğunda olabilir. Mümkün olduğunca uzun ve karmaşık parolalar kullanın.

Ardından bash betiğini aşağıdaki gibi çalıştırın:

. ./my_script_name.sh