Performans ve güvenlik bir veritabanısunucusu için en kritik iki noktadır. Yanlış tercihler sistem yoğunlaştığında büyük sorunlara yol açabilir. SQL Server ve Linux birlikteliği bu noktada çok güçlü bir alternatif oluşturur. Lisans masraflarını azaltan Linux aynı zamanda sistem kaynaklarını da çok tasarruflu kullanır. Arka planda çalışan SQLPAL yapısı tüm işlemleri Linux diline hatasız bir şekilde çevirir. Böylece veritabanı sanki Windows üzerindeymiş gibi yüksek bir kararlılıkla görevini yerine getirir.
SQL Server Linux Kurulumu Öncesi
SQL Server her Linux sürümünde çalışabilir ancak sorunsuz bir deneyim için Microsoft tarafından onaylanmış şu sistemleri seçmek en güvenli yoldur.
| Onaylı Sistemler | Ubuntu 20.04 ve 22.04, RHEL 8 ve 9, AlmaLinux, Rocky Linux, SLES v15 |
| İşlemci (CPU) | En az 2 çekirdekli ve x64 mimarili işlemci |
| Bellek (RAM) | En az 2 GB (Performans için 4 GB ve üzeri önerilir) |
| Dosya Sistemi | Hız ve güvenlik için XFS veya EXT4 dosya sistemleri |
| Ağ Portu | 1433 numaralı port |
Ubuntu SQL Server Kurulum Adımları
Rehberimizin bu kısmında en yaygın Linux dağıtımı kabul edilen Ubuntu üzerinden kurulum adımlarını göstereceğiz.
Sistemin Güvenliğini Sağlayalım
Öncelikle sistemin Microsoft paketlerini tanıyabilmesi için dijital anahtarları içe aktarmamız gerekiyor. Terminalden aşağıdaki komutu girelim.
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpgArdından SQL Server 2022 deposunu listemize ekliyoruz.
curl https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql-server-2022.listKurulumu Başlatalım
Depoları güncelledikten sonra standart paket yükleme komutuyla ana motoru kuruyoruz.
sudo apt-get update
sudo apt-get install -y mssql-serverYapılandırma Süreci
Kurulum bittiğinde SQL Server henüz çalışmaz durumda olacaktır. Bu aşamada karşınıza bir menü çıkacak.
sudo /opt/mssql/bin/mssql-conf setupSürüm Tercihi Karşınıza çıkan menüden test çalışmaları yapmak adına 2 yani Developer sürümünü seçelim.
Sözleşme Onayı Kurulumun devam etmesi için lisans şartlarını kabul ettiğimizi sisteme bildirelim.
Yönetici Şifresi Sistem güvenliği için içerisinde rakam ve farklı harf grupları barındıran sağlam bir şifre oluşturalım
Servisin Durumunu Kontrol Etme
Sistemin kontrolünü sağlayalım.
systemctl status mssql-server
Veritabanına İlk Bağlantı ve Araçlar
SQL Server kuruldu ancak ona komut gönderecek bir araca ihtiyacımız var. Linux tarafında en iyi komut sqlcmd aracıdır.
CLI Araçlarını Yükleme
Aşağıdaki komutlarla terminal üzerinden SQL sorguları yazmamıza yarayan araçları yüklüyoruz.
sudo apt-get install -y mssql-tools18 unixodbc-dev<br>echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc<br>source ~/.bashrcArtık ilk sorgunuzu atabilirsiniz. Ekranda Microsoft SQL Server 2022 yazısını görürsek kurulum tamamlanmıştır.
sqlcmd -S localhost -U sa -P 'BelirlediginizSifre' -C -Q "SELECT @@version"Ağ ve Güvenlik Duvarı Yapılandırması
SQL Server varsayılan olarak 1433 portunu kullanır. Bu portun internete tamamen açık olması büyük bir güvenlik açığıdır.
Sadece belirli bir IP adresinden erişime izin vermek en güvenli yoldur.

sudo ufw allow from 192.168.1.50 to any port 1433 proto tcp
sudo ufw enableSSH Güvenliği
Aynı yapılandırma dosyasında PermitRootLogin ayarını no durumuna getirelim.
Giriş yaparken şifre yazmak yerine çok daha güvenli olan RSA anahtarlarını tercih edelim.
/etc/ssh/sshd_config dosyasını açalım ve standart 22 portu yerine 2222 gibi farklı bir değer belirleyelim.

Bellek Limiti Belirleme
Linux çekirdeği ve SQL Server bazen bellek kullanımı konusunda rekabete girebilir. Eğer SQL Server tüm RAM’i tüketirse sistem kilitlenebilir.
Örneğin 8 GB RAM’e sahip bir sunucuda, SQL Server’ın en fazla 6 GB kullanmasını sağlayalım:
sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 6144
sudo systemctl restart mssql-serverTLS Şifrelemeyi Aktif Etme
Güvenlik sertifikalarımızı oluşturalım ve bunları /etc/mssql/certs/ dizinine yerleştirelim.
SQL Server’ın bu dosyaları okuyabilmesi için sahipliği mssql kullanıcısına devredelim sudo chown mssql:mssql /etc/mssql/certs/*
SQL Server yapılandırma aracını kullanarak sisteme bu sertifikayı kullanması gerektiğini bildirelim.
sudo /opt/mssql/bin/mssql-conf set network.tlscert /etc/mssql/certs/sunucu.pem
sudo /opt/mssql/bin/mssql-conf set network.tlskey /etc/mssql/certs/sunucu.key
sudo /opt/mssql/bin/mssql-conf set network.tlsprotocols 1.2Sık Sorulan Sorular
Windows’taki SSMS ile Linux üzerindeki SQL Server’a bağlanabilir miyim?
SSMS ya da Azure Data Studio aracılığıyla hedef sunucunun IP adresi ve oturum bilgileri tanımlandığında, Linux üzerinde çalışan SQL Server’a bağlantı problemsiz şekilde gerçekleştirilir.
Linux üzerinde performans kaybı olur mu?
Standart iş yüklerinde performans kaybı yaşanmaz. Bazı özel durumlarda Linux’un optimize edilmiş kaynak kullanımı daha iyi sonuç verebilir.
Yedek dosyaları Windows ve Linux arasında taşınabilir mi?
SQL Server’ın oluşturduğu .bak yedek dosyaları platformdan bağımsız çalışır ve her iki işletim sistemi arasında sorunsuz şekilde geri yükleme yapılabilir.
SQL Server mı yoksa MySQL/MariaDB mi tercih edilmeli?
Seçim kullanım senaryosuna göre değişir. MySQL ve MariaDB hafif ve ücretsiz çözümler sunarak web projelerinde öne çıkar; ancak büyük ölçekli kurumsal sistemlerde, karmaşık sorgu ihtiyaçlarında ve .NET entegrasyonlarında SQL Server daha güçlü bir yapı sağlar.