Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server - Linux
Bu örnek bash betiği, etkileşimli giriş olmadan Ubuntu'ya SQL Server 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.
Bahşiş
Katılımsız yükleme betiğine ihtiyacınız yoksa, SQL Server'ı yüklemenin en hızlı yolu Ubuntu için içinhızlı başlangıç kılavuzunu izlemektir. 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. BTRFSgibi diğer dosya sistemleri desteklenmez.
- Diğer sistem gereksinimleri için bkz. Linux üzerinde SQL Server için sistem gereksinimleri.
Örnek senaryo
Bu örnek, Ubuntu Server 20.04'e SQL Server 2019 (15.x) yükler. SQL Server veya Ubuntu Server'ın 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 ardından özelleştirin. Betikteki değişken değerlerini değiştirmeniz gerekir. Betik değişkenlerinden herhangi birini, betik dosyasından kaldırdığınız sürece ortam değişkenleri olarak da ayarlayabilirsiniz.
SQL Server yavaş başlatılırsa betik başarısız olabilir. Bunun nedeni betiğin sıfır olmayan bir durumla çıkmasıdır. İlk satırdaki -e
anahtarının kaldırılması bu sorunu çözebilir.
Ö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...
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 [ ! -z $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 [ ! -z $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 traceflag 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 = 1 ]
do
echo Waiting for SQL Server to start...
sleep 3s
/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!
Betiği çalıştır
Betiği çalıştırmak için:
Örneği sık kullandığınız metin düzenleyicinize yapıştırın ve
install_sql.sh
gibi akılda kalıcı bir adla kaydedin.MSSQL_SA_PASSWORD
,MSSQL_PID
ve değiştirmek istediğiniz diğer değişkenleri özelleştirin.Betiği yürütülebilir olarak işaretle
chmod +x install_sql.sh
Betiği çalıştır
./install_sql.sh
Betiği anlama
Bash betiğinin yaptığı ilk şey birkaç değişken ayarlamaktır. Bu değişkenler, örnekte olduğu gibi betik değişkenleri veya ortam değişkenleri olabilir. SQL Server yüklemesi için MSSQL_SA_PASSWORD
değişkeni gereklidir. Diğerleri betik için oluşturulan özel değişkenlerdir. Örnek betik aşağıdaki adımları gerçekleştirir:
Genel Microsoft GPG anahtarlarını içeri aktarın.
SQL Server için Microsoft depolarını ve komut satırı araçlarını kaydedin.
Yerel depoları güncelleştirin.
SQL Server'ı yükleyin.
SQL Server'ı
MSSQL_SA_PASSWORD
yapılandırın ve End-User Lisans Sözleşmesi'ni otomatik olarak kabul edin.SQL Server komut satırı araçları için End-User Lisans Sözleşmesi'ni otomatik olarak kabul edin, yükleyin ve
unixodbc-dev
paketini yükleyin.Kullanım kolaylığı için SQL Server komut satırı araçlarını yola ekleyin.
betik değişkeni
SQL_ENABLE_AGENT
ayarlandıysa SQL Server Aracısı'nı varsayılan olarak etkinleştirin.SQL_INSTALL_FULLTEXT
değişkeni ayarlandıysa isteğe bağlı olarak SQL Server Full-Text araması yükleyin.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.
İsteğe bağlı olarak kilitlenme izleme için izleme bayrakları ayarlayın (satırların açıklamasını kaldırmanız gerekir).
SQL Server artık yüklü, çalışır duruma getirmek için işlemi yeniden başlatın.
Hata iletilerini gizlerken SQL Server'ın doğru yüklendiğini doğrulayın.
hem
SQL_INSTALL_USER
hem deSQL_INSTALL_USER_PASSWORD
ayarlandıysa yeni bir sunucu yöneticisi kullanıcısı oluşturun.
Katılımsız yükleme
Birden çok katılımsız yüklemeyi basitleştirin ve uygun ortam değişkenlerini ayarlayan tek başına bir bash betiği oluşturun. Örnek betiğin kullandığı değişkenlerden herhangi birini kaldırabilir ve bunları kendi bash betiğine 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