Linux üzerinde SQL Server'ı mssql-conf aracıyla yapılandırın

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

mssql-conf, Red Hat Enterprise Linux, SUSE Linux Enterprise Server ve Ubuntu için SQL Server ile yüklenen bir yapılandırma betiğidir. Yapılandırma değerlerinin saklandığı mssql.conf dosyasını değiştirir.

mssql-conf, Linux üzerinde SQL Server ile yüklenen bir yapılandırma betiğidir. Bu aracı, aşağıdaki parametreleri ayarlamak için kullanabilirsiniz:

Uyarı

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

Parametre Açıklama
Aracı SQL Server Aracısı'nı etkinleştirin.
Windows ile kimlik doğrulaması Windows Server Active Directory kimlik doğrulaması ayarları.
harmanlama Linux üzerinde SQL Server için yeni bir harmanlama ayarlayın.
Müşteri geri bildirimi Microsoft'a geri bildirim gönderilip gönderilmeyeceğini SQL Server'da belirleyin.
Veritabanı Posta Profili SQL Server'ın Linux versiyonu için varsayılan veritabanı posta profilini ayarlayın.
Varsayılan veri dizini Yeni SQL Server veritabanı veri dosyaları.mdf () için varsayılan dizini değiştirin.
Varsayılan günlük dizini Yeni SQL Server veritabanı günlük dosyaları.ldf () için varsayılan dizini değiştirir.
Varsayılan ana veritabanı dizini Varsayılan dizini master veritabanı ve günlük dosyaları için değiştirir.
Varsayılan ana veritabanı dosya adı Veritabanı dosyalarının master adını değiştirir.
Varsayılan döküm dizini Varsayılan dizini yeni bellek dökümleri ve diğer sorun giderme dosyaları için değiştirin.
Varsayılan hata günlüğü dizini Yeni SQL Server Hata Günlüğü, Varsayılan Profiler İzleme, Sistem Sağlığı Oturumu XE ve Hekaton Oturumu XE dosyaları için varsayılan dizini değiştirir.
Varsayılan yedekleme dizini Yeni yedek dosyalar için varsayılan dizini değiştirin.
Döküm türü Toplayacak döküm bellek dökümü dosyasının türünü seçin.
Baskı SQL Server sürümünü ayarlayın.
Yüksek kullanılabilirlik Kullanılabilirlik Gruplarını Etkinleştir.
Yerel Denetim Dizini Yerel Denetim dosyalarını eklemek için bir dizin belirleyin.
Yerel ayar SQL Server'ın kullanacağı yerel ayarları ayarlayın.
Bellek sınırı SQL Server için bellek sınırını ayarlayın.
Ağ ayarları SQL Server için ek ağ ayarları.
Microsoft Dağıtılmış İşlem Düzenleyicisi Linux üzerinde MSDTC'yi yapılandırın ve sorun giderin.
TCP bağlantı noktası SQL Server'ın bağlantılar için dinlediği portu değiştirin.
TLS Taşıma Katmanı Güvenliğini Yapılandırın.
İzleme bayrakları Hizmetin kullanacağı izleme bayraklarını ayarla.
Parametre Açıklama
Aracı SQL Server Aracısı'nı etkinleştirme
Windows ile kimlik doğrulaması Windows Server Active Directory kimlik doğrulaması ayarları.
harmanlama Linux üzerinde SQL Server için yeni bir harmanlama ayarlayın.
Müşteri geri bildirimi Microsoft'a geri bildirim gönderilip gönderilmeyeceğini SQL Server'da belirleyin.
Veritabanı Posta Profili SQL Server'ın Linux versiyonu için varsayılan veritabanı posta profilini ayarlayın.
Varsayılan veri dizini Yeni SQL Server veritabanı veri dosyaları.mdf () için varsayılan dizini değiştirin.
Varsayılan günlük dizini Yeni SQL Server veritabanı günlük dosyaları.ldf () için varsayılan dizini değiştirir.
Varsayılan ana veritabanı dosya dizini Mevcut SQL kurulumu üzerine master veritabanı dosyalarının varsayılan dizinini değiştirir.
Varsayılan ana veritabanı dosya adı Veritabanı dosyalarının master adını değiştirir.
Varsayılan döküm dizini Varsayılan dizini yeni bellek dökümleri ve diğer sorun giderme dosyaları için değiştirin.
Varsayılan hata günlüğü dizini Yeni SQL Server Hata Günlüğü, Varsayılan Profiler İzleme, Sistem Sağlığı Oturumu XE ve Hekaton Oturumu XE dosyaları için varsayılan dizini değiştirir.
Varsayılan yedekleme dizini Yeni yedek dosyalar için varsayılan dizini değiştirin.
Döküm türü Toplayacak döküm bellek dökümü dosyasının türünü seçin.
Baskı SQL Server sürümünü ayarlayın.
Yüksek kullanılabilirlik Kullanılabilirlik Gruplarını Etkinleştir.
Yerel Denetim Dizini Yerel Denetim dosyalarını eklemek için bir dizin belirleyin.
Yerel ayar SQL Server'ın kullanacağı yerel ayarları ayarlayın.
Bellek sınırı SQL Server için bellek sınırını ayarlayın.
Microsoft Dağıtılmış İşlem Düzenleyicisi Linux üzerinde MSDTC'yi yapılandırın ve sorun giderin.
Machine Learning Services EULA'ları R ve Python EULA'larını mlservices paketleri için kabul edin. Yalnızca SQL Server 2019 (15.x) için geçerlidir.
Ağ ayarları SQL Server için ek ağ ayarları.
outboundnetworkaccess Makine Öğrenimi Hizmetleri için R, Python ve Java uzantıları için giden ağ erişimini etkinleştirin.
TCP bağlantı noktası SQL Server'ın bağlantılar için dinlediği portu değiştirin.
TLS Taşıma Katmanı Güvenliğini Yapılandırın.
İzleme bayrakları Hizmetin kullanacağı izleme bayraklarını ayarla.
Parametre Açıklama
Aracı SQL Server Aracısı'nı etkinleştirme
Microsoft Entra Kimliği ile kimlik doğrulaması Microsoft Entra ID ile kimlik doğrulama ayarları (eski adıyla Azure Active Directory).
Windows ile kimlik doğrulaması Windows Server Active Directory kimlik doğrulaması ayarları.
harmanlama Linux üzerinde SQL Server için yeni bir harmanlama ayarlayın.
Müşteri geri bildirimi Microsoft'a geri bildirim gönderilip gönderilmeyeceğini SQL Server'da belirleyin.
Veritabanı Posta Profili SQL Server'ın Linux versiyonu için varsayılan veritabanı posta profilini ayarlayın.
Varsayılan veri dizini Yeni SQL Server veritabanı veri dosyaları.mdf () için varsayılan dizini değiştirin.
Varsayılan günlük dizini Yeni SQL Server veritabanı günlük dosyaları.ldf () için varsayılan dizini değiştirir.
Varsayılan ana veritabanı dosya dizini Mevcut SQL kurulumu üzerine master veritabanı dosyalarının varsayılan dizinini değiştirir.
Varsayılan ana veritabanı dosya adı Veritabanı dosyalarının master adını değiştirir.
Varsayılan döküm dizini Varsayılan dizini yeni bellek dökümleri ve diğer sorun giderme dosyaları için değiştirin.
Varsayılan hata günlüğü dizini Yeni SQL Server Hata Günlüğü, Varsayılan Profiler İzleme, Sistem Sağlığı Oturumu XE ve Hekaton Oturumu XE dosyaları için varsayılan dizini değiştirir.
Varsayılan yedekleme dizini Yeni yedek dosyalar için varsayılan dizini değiştirin.
Döküm türü Toplayacak döküm bellek dökümü dosyasının türünü seçin.
Baskı SQL Server sürümünü ayarlayın.
Yüksek kullanılabilirlik Kullanılabilirlik Gruplarını Etkinleştir.
Yerel Denetim Dizini Yerel Denetim dosyalarını eklemek için bir dizin belirleyin.
Yerel ayar SQL Server'ın kullanacağı yerel ayarları ayarlayın.
Bellek sınırı SQL Server için bellek sınırını ayarlayın.
Microsoft Dağıtılmış İşlem Düzenleyicisi Linux üzerinde MSDTC'yi yapılandırın ve sorun giderin.
Machine Learning Services EULA'ları R ve Python EULA'larını mlservices paketleri için kabul edin. Yalnızca SQL Server 2019 (15.x) için geçerlidir.
Ağ ayarları SQL Server için ek ağ ayarları.
Çıkış ağ erişimi Makine Öğrenimi Hizmetleri için R, Python ve Java uzantıları için giden ağ erişimini etkinleştirin.
SQL Server Bağlayıcısı SQL Server Connector için kayıt düzeyini yapılandırın.
TCP bağlantı noktası SQL Server'ın bağlantılar için dinlediği portu değiştirin.
TLS Taşıma Katmanı Güvenliğini Yapılandırın.
İzleme bayrakları Hizmetin kullanacağı izleme bayraklarını ayarla.
Parametre Açıklama
Aracı SQL Server Aracısı'nı etkinleştirme
Microsoft Entra Kimliği ile kimlik doğrulaması Microsoft Entra ID ile kimlik doğrulama ayarları (eski adıyla Azure Active Directory).
Windows ile kimlik doğrulaması Windows Server Active Directory kimlik doğrulaması ayarları.
harmanlama Linux üzerinde SQL Server için yeni bir harmanlama ayarlayın.
Özel parola ilkesi Parola ilkeleri karmaşıklık, süre sonu ve parola değişikliklerini zorunlu kılar.
Müşteri geri bildirimi Microsoft'a geri bildirim gönderilip gönderilmeyeceğini SQL Server'da belirleyin.
Veritabanı Posta Profili SQL Server'ın Linux versiyonu için varsayılan veritabanı posta profilini ayarlayın.
Varsayılan veri dizini Yeni SQL Server veritabanı veri dosyaları.mdf () için varsayılan dizini değiştirin.
Varsayılan günlük dizini Yeni SQL Server veritabanı günlük dosyaları.ldf () için varsayılan dizini değiştirir.
Varsayılan ana veritabanı dosya dizini Mevcut SQL kurulumu üzerine master veritabanı dosyalarının varsayılan dizinini değiştirir.
Varsayılan ana veritabanı dosya adı Veritabanı dosyalarının master adını değiştirir.
Varsayılan döküm dizini Varsayılan dizini yeni bellek dökümleri ve diğer sorun giderme dosyaları için değiştirin.
Varsayılan hata günlüğü dizini Yeni SQL Server Hata Günlüğü, Varsayılan Profiler İzleme, Sistem Sağlığı Oturumu XE ve Hekaton Oturumu XE dosyaları için varsayılan dizini değiştirir.
Varsayılan yedekleme dizini Yeni yedek dosyalar için varsayılan dizini değiştirin.
Döküm türü Toplayacak döküm bellek dökümü dosyasının türünü seçin.
Baskı SQL Server sürümünü ayarlayın.
Yüksek kullanılabilirlik Kullanılabilirlik Gruplarını Etkinleştir.
Yerel Denetim Dizini Yerel Denetim dosyalarını eklemek için bir dizin belirleyin.
Yerel ayar SQL Server'ın kullanacağı yerel ayarları ayarlayın.
Bellek sınırı SQL Server için bellek sınırını ayarlayın.
Microsoft Dağıtılmış İşlem Düzenleyicisi Linux üzerinde MSDTC'yi yapılandırın ve sorun giderin.
Machine Learning Services EULA'ları R ve Python EULA'larını mlservices paketleri için kabul edin. Yalnızca SQL Server 2019 (15.x) için geçerlidir.
Ağ ayarları SQL Server için ek ağ ayarları.
Çıkış ağ erişimi Makine Öğrenimi Hizmetleri için R, Python ve Java uzantıları için giden ağ erişimini etkinleştirin.
SQL Server Bağlayıcısı SQL Server Connector için kayıt düzeyini yapılandırın.
TCP bağlantı noktası SQL Server'ın bağlantılar için dinlediği portu değiştirin.
TLS Taşıma Katmanı Güvenliğini Yapılandırın.
İzleme bayrakları Hizmetin kullanacağı izleme bayraklarını ayarla.

Tavsiye

Bazı ayarlar, çevre değişkenleri ile de yapılandırılabilir. Daha fazla bilgi için bkz. Linux'ta ortam değişkenleriyle SQL Server ayarlarını yapılandırma.

Kullanım ipuçları

  • Always On Kullanılabilirlik Grupları ve paylaşımlı disk kümeleri için, her bir düğümde daima aynı yapılandırma değişikliklerini yapın.

  • Paylaşılan disk kümesi senaryosunda, değişiklikleri uygulamak için mssql-server hizmetini yeniden başlatmayı denemeyin. SQL Server bir uygulama olarak çalışıyor. Bunun yerine, kaynağı çevrimdışı yapın ve ardından çevrimiçi yapın.

  • Bu örnekler tam yolu belirterek çalışır mssql-conf : /opt/mssql/bin/mssql-conf. Bunun yerine bu yola gitmeyi seçerseniz, geçerli dizin bağlamında komutunu çalıştırın mssql-conf : ./mssql-conf.

  • Bir konteynerin içindeki mssql.conf dosyasını değiştirmek istiyorsanız, konteyneri çalıştırdığınız ana bilgisayarda istediğiniz ayarları içeren bir mssql.conf dosyası oluşturun ve ardından konteynerinizi yeniden dağıtın. Step 2: Örneğin, mssql.conf dosyasına yapılan aşağıdaki ekleme SQL Server Agent'i etkinleştirir.

    [sqlagent]
    enabled = true
    

    Uygulamanızda aşağıdaki komutları kullanarak konteynerinizi dağıtabilirsiniz:

    docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
    -p 5433:1433 --name sql1 \
    -v /container/sql1:/var/opt/mssql \
    -d mcr.microsoft.com/mssql/server:2025-latest
    

    Dikkat

    Parolanız,SQL Server varsayılan parola 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.

    Daha fazla bilgi için SQL Server konteyneri tarafından kullanılacak yapılandırma dosyalarını oluşturun bölümüne bakın.

SQL Server Aracısı'nı etkinleştirme

sqlagent.enabled ayarı SQL Server Agent'ı etkinleştirir. Varsayılan olarak, SQL Server Agent devre dışı bırakılmıştır. sqlagent.enabled mssql.conf ayarlar dosyasında mevcut değilse, SQL Server, SQL Server Aracısı'nın devre dışı bırakıldığını içsel olarak varsayar.

Bu ayarı değiştirmek için aşağıdaki adımları izleyin:

  1. SQL Server Aracısını Etkinleştir

    sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
    
  2. SQL Server hizmetini yeniden başlatın:

    sudo systemctl restart mssql-server
    

SQL Server için varsayılan Veritabanı Postası profilini Linux'ta ayarlayın.

Varsayılan DB Mail profiliyle e-posta uyarılarını ayarlamanıza olanak tanır.

sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile <profile_name>

SQL Agent hata kayıtları

"sqlagent.errorlogfile ve sqlagent.errorlogginglevel ayarları, sırasıyla SQL Agent günlük dosyası yolunu ve kayıt seviyesini ayarlamanıza olanak tanır."

sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogfile <path>

SQL Agent günlükleme seviyeleri, bitmask değerlerine eşittir.

  • 1 = Hatalar
  • 2 = Uyarılar
  • 4 = Bilgi

Tüm seviyeleri yakalamak istiyorsanız, değer olarak 7 kullanın.

sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogginglevel <level>

Microsoft Entra kimlik doğrulamayı yapılandırın

SQL Server 2022 (16.x) ile başlayarak, SQL Server için Microsoft Entra ID'yi yapılandırabilirsiniz. Microsoft Entra ID'yi yapılandırmak için, SQL Server'in kurulumu sonrasında, SQL Server için Azure uzantısını yüklemeniz gerekir. Microsoft Entra Id'yi yapılandırma hakkında bilgi için bkz . Öğretici: Uygulama kaydıyla SQL Server için Microsoft Entra kimlik doğrulamasını ayarlama.

Varsayılan Microsoft Entra Kimliği sertifika yolunu değiştirin

Varsayılan olarak, Microsoft Entra sertifika dosyası /var/opt/mssql/aadsecrets/'da depolanır. Bu yolu, bir sertifika deposu veya şifrelenmiş bir sürücü kullanıyorsanız değiştirebilirsiniz. Yolu değiştirmek için aşağıdaki komutu kullanabilirsiniz:

sudo /opt/mssql/bin/mssql-conf set network.aadcertificatefilepath /path/to/new/location.pfx

Önceki örnekte, /path/to/new/location.pfx sertifika adı da dahil olmak üzere tercih ettiğiniz yoldur.

Microsoft Entra kimlik doğrulaması için sertifika, SQL Server için Azure uzantısı tarafından indirilen, bu konumda saklanır. Bunu /var/opt/mssql/secrets olarak değiştiremezsiniz.

Uyarı

SQL Server yüklendikten sonra varsayılan Microsoft Entra ID sertifika yolu herhangi bir zamanda değiştirilebilir, ancak Microsoft Entra ID'yi etkinleştirmeden önce değiştirilmeli.

Microsoft Entra ID yapılandırma seçenekleri

SQL Server'ın Linux üzerinde çalışan bir örneği için Microsoft Entra kimlik doğrulaması tarafından kullanılan seçenekler şunlardır.

Uyarı

Microsoft Entra ID parametreleri, SQL Server için Azure uzantısı tarafından yapılandırılır ve elle yeniden yapılandırılmamalıdır. Bunlar bilgilendirme amacıyla burada listelenmiştir.

SQL Server 2022 (16.x) CU 19, Microsoft Entra kimlik doğrulama uç noktaları için IPv6 kayıt sınırını ayarlamak üzere bir seçenek sunar. Linux'ta IPv6 etkinse ve Microsoft Entra kimlik doğrulama uç noktalarının IPv6 adreslerine ulaşılamıyorsa, Microsoft Entra kimlik doğrulamasının çalışması için network.ipv6dnsrecordslimit seçeneğini ayarlayabilirsiniz. Bu seçeneği 0 ve 5 arasında herhangi bir değere ayarlamak, Microsoft Entra uç noktalarına ulaşmak için en az bir IPv4 adresinin denenmesini garanti eder.

0 değerinin anlamı, IPv6 uç noktası adreslerinin denenmediğidir. Değer 5 olduğunda, beş AAAA adresi denenir.

Uyarı

Bu network.ipv6dnsrecordslimit ayar sunucu düzeyinde yapılandırılır ve IPv6 kullanan diğer hizmetleri etkileyebilir.

Seçenek Açıklama
network.aadauthenticationendpoint Microsoft Entra kimlik doğrulaması için uç nokta
network.aadcertificatefilepath Microsoft Entra Id kimlik doğrulaması için sertifika dosyasının yolu
network.aadclientcertblacklist Microsoft Entra ID İstemci Sertifikası engelleme listesi
network.aadclientid Microsoft Entra İstemcisi GUID
network.aadfederationmetadataendpoint Microsoft Entra Federasyon Meta Verisi için Uç Nokta
network.aadgraphapiendpoint Azure AD Graph API için Uç Nokta
network.aadgraphendpoint Azure AD Grafik Uç Noktası
network.aadissuerurl Microsoft Entra Yayımlayıcı URL'si
network.aadmsgraphendpoint Microsoft Entra MS Graph Uç Noktası
network.aadonbehalfofauthority Yetkilinin Adına Microsoft Entra Kimliği
network.aadprimarytenant Microsoft Entra Birincil Kiracı GUID'i
network.aadsendx5c Microsoft Entra ID Gönder X5C
network.aadserveradminname Microsoft Entra hesabının sistem yöneticisi yapılacak adı
network.aadserveradminsid Microsoft Entra hesabının sistem yöneticisi yapılacak SID'si
network.aadserveradmintype Microsoft Entra hesabı türü, sistem yöneticisi yapılacak
network.aadserviceprincipalname Microsoft Entra hizmet asıl adı
network.aadserviceprincipalnamenoslash Eğik çizgi olmadan Microsoft Entra hizmet ana adı
network.aadstsurl Microsoft Entra STS URL'si

Windows Active Directory kimlik doğrulamayı yapılandırma

setup-ad-keytab seçeneği bir keytab oluşturmak için kullanılabilir, ancak bu seçeneği kullanabilmek için kullanıcı ve Hizmet Prensipali İsimleri (SPN'ler) oluşturulmuş olmalıdır. Active Directory yardımcı programı adutil kullanıcılar, SPN'ler ve anahtar sekmeleri oluşturmak için kullanılabilir.

Kullanma seçenekleri için setup-ad-keytab, aşağıdaki komutu çalıştırın:

sudo /opt/mssql/bin/mssql-conf setup-ad-keytab --help

validate-ad-config seçeneği, Active Directory kimlik doğrulaması için yapılandırmayı doğrular.

SQL Server sıralamasını değiştirin

set-collation seçeneği, sıralama değerini desteklenen sıralamalardan herhangi birine değiştirir. Bu değişikliği yapmak için SQL Server hizmetinin durdurulması gerekiyor.

  1. Önce sunucunuzdaki herhangi bir kullanıcı veritabanını yedekleyin.

  2. Daha sonra kullanıcı veritabanlarını ayırmak için sp_detach_db saklı yordamını kullanın.

  3. set-collation seçeneğini çalıştırın ve istemleri izleyin:

    sudo /opt/mssql/bin/mssql-conf set-collation
    
  4. yardımcı mssql-conf programı, belirtilen harmanlama değerine geçmek ve hizmeti yeniden başlatmak için çalışır. Herhangi bir hata varsa, sıralama önceki değere geri döner.

  5. Kullanıcı veritabanı yedeklerinizi geri yükleyin.

Desteklenen sıralamalar listesini almak için sys.fn_helpcollations fonksiyonunu çalıştırın: SELECT Name from sys.fn_helpcollations().

Özel parola ilkeleri

Linux üzerinde SQL Server 2025 (17.x) sürümünden başlayarak, özel parola ilkesini zorunlu kılmak için dosyada mssql.conf aşağıdaki yapılandırma parametrelerini ayarlayabilirsiniz.

Yapılandırma seçeneği Açıklama
passwordpolicy.passwordminimumlength Parola için gereken en az karakter sayısını tanımlar. Parolalar en fazla 128 karakter uzunluğunda olabilir.
passwordpolicy.passwordhistorylength Anımsanması gereken önceki parola sayısını belirler.
passwordpolicy.passwordminimumage Bir kullanıcının parolasını yeniden değiştirmeden önce beklemesi gereken en düşük süreyi belirtir.
passwordpolicy.passwordmaximumage Parolanın değiştirilmesi gerekmeden önce kullanabilecekleri en uzun süreyi ayarlar.

Uyarı

Şu anda , passwordminimumlength sekiz karakterden daha az karaktere ayarlanabilir. Parolanız,SQL Server varsayılan parola 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.

Daha fazla bilgi için bkz. Linux üzerinde SQL Server'da SQL oturum açma işlemleri için özel parola ilkesi ayarlama.

Müşteri geri bildirimini yapılandırma

telemetry.customerfeedback ayarı, SQL Server'ın Microsoft'a geri bildirim gönderip göndermeyeceğini değiştirir. Varsayılan olarak, bu değer tüm sürümler için true olarak ayarlanmıştır. Değeri değiştirmek için aşağıdaki komutları çalıştırın:

Önemli

SQL Server, Express ve Developer'ın ücretsiz sürümleri için müşteri geri bildirimlerini kapatamazsınız.

  1. telemetry.customerfeedback betiğini mssql-conf için set komutuyla kök olarak çalıştırın. Aşağıdaki örnek, false belirterek müşteri geri bildirimini kapatır.

    sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
    
  2. SQL Server hizmetini yeniden başlatın:

    sudo systemctl restart mssql-server
    

Daha fazla bilgi için, Linux üzerinde SQL Server için kullanım ve tanılama veri toplama yapılandırması ve SQL Server gizlilik ek belgesine bakın.

Varsayılan veri veya günlük dizin konumunu değiştir

filelocation.defaultdatadir ve filelocation.defaultlogdir ayarları, yeni veritabanı ve günlük dosyalarının oluşturulacağı yeri değiştirir. Varsayılan olarak, bu konum /var/opt/mssql/data. Bu ayarları değiştirmek için aşağıdaki adımları kullanın:

  1. Yeni veritabanı verileri ve günlük dosyaları için hedef dizini oluşturun. Aşağıdaki örnek yeni bir /tmp/data dizini oluşturur:

    sudo mkdir /tmp/data
    
  2. Dizinin sahibini ve grubunu mssql kullanıcı olarak ayarlayın.

    sudo chown mssql /tmp/data
    sudo chgrp mssql /tmp/data
    
  3. mssql-conf'yi varsayılan veri dizinini değiştirmek için set komutuyla kullanın.

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /tmp/data
    
  4. SQL Server hizmetini yeniden başlatın:

    sudo systemctl restart mssql-server
    
  5. Artık oluşturulan yeni veritabanlarının tüm veritabanı dosyaları bu yeni konumda saklanıyor. Yeni veritabanlarının işlem günlüğü dosyalarının (.ldf) konumunu değiştirmek isterseniz aşağıdaki set komutu kullanabilirsiniz:

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /tmp/log
    
  6. Bu komut aynı zamanda /tmp/log adlı bir dizinin mevcut olduğunu ve kullanıcı ve grup mssql altında olduğunu varsayar.

Varsayılan master veritabanı dosya dizini konumunu değiştir

`filelocation.masterdatafile` ve `filelocation.masterlogfile` ayarları, SQL Server Veri Tabanı Motorunun `master` veri tabanı dosyalarını aradığı konumu değiştirir. Varsayılan olarak, bu konum /var/opt/mssql/data.

Bu ayarları değiştirmek için aşağıdaki adımları kullanın:

  1. Yeni hata günlük dosyaları için hedef dizini oluşturun. Aşağıdaki örnek yeni bir /tmp/masterdatabasedir dizini oluşturur:

    sudo mkdir /tmp/masterdatabasedir
    
  2. Dizinin sahibini ve grubunu mssql kullanıcı olarak ayarlayın.

    sudo chown mssql /tmp/masterdatabasedir
    sudo chgrp mssql /tmp/masterdatabasedir
    
  3. Varsayılan master veritabanı dizinini mssql-conf verileri ve günlük dosyaları için set komutunu kullanarak değiştirin.

    sudo /opt/mssql/bin/mssql-conf set filelocation.masterdatafile /tmp/masterdatabasedir/master.mdf
    sudo /opt/mssql/bin/mssql-conf set filelocation.masterlogfile /tmp/masterdatabasedir/mastlog.ldf
    

    Uyarı

    master verileri ve günlük dosyalarını taşımaya ek olarak, diğer tüm sistem veritabanlarının varsayılan konumunu da taşıyan bu harekettir.

  4. SQL Server hizmetini durdurun:

    sudo systemctl stop mssql-server
    
  5. master.mdf ve mastlog.ldf dosyalarını taşıma:

    sudo mv /var/opt/mssql/data/master.mdf /tmp/masterdatabasedir/master.mdf
    sudo mv /var/opt/mssql/data/mastlog.ldf /tmp/masterdatabasedir/mastlog.ldf
    
  6. SQL Server hizmetini başlatın:

    sudo systemctl start mssql-server
    

    Uyarı

    SQL Server belirtilen dizinde ve master.mdf dosyalarını bulamazsamastlog.ldf, sistem veritabanlarının şablonlu bir kopyası belirtilen dizinde otomatik olarak oluşturulur ve SQL Server başarıyla başlatılır. Ancak kullanıcı veritabanları, sunucu oturum açma bilgileri, sunucu sertifikaları, şifreleme anahtarları, SQL aracısı işleri veya eski sa parola gibi meta veriler yeni master veritabanında güncelleştirilmez. SQL Server'ı durdurmanız, eski master.mdf ve mastlog.ldf yeni belirtilen konuma taşımanız ve var olan meta verileri kullanmaya devam etmek için SQL Server'ı başlatmanız gerekir.

Veritabanı dosyalarının master adını değiştirme

`filelocation.masterdatafile` ve `filelocation.masterlogfile` ayarları, SQL Server Veri Tabanı Motorunun `master` veri tabanı dosyalarını aradığı konumu değiştirir. Veritabanının ve günlük dosyalarının master adını değiştirmek için de bunu kullanabilirsiniz.

Bu ayarları değiştirmek için aşağıdaki adımları kullanın:

  1. SQL Server hizmetini durdurun:

    sudo systemctl stop mssql-server
    
  2. set komutunu kullanarak mssql-conf veri ve günlük dosyalarının master beklenen master veritabanı adlarını değiştirmek için:

    sudo /opt/mssql/bin/mssql-conf set filelocation.masterdatafile /var/opt/mssql/data/masternew.mdf
    sudo /opt/mssql/bin/mssql-conf set filelocation.mastlogfile /var/opt/mssql/data/mastlognew.ldf
    

    Önemli

    Veritabanının ve günlük dosyalarının master adını yalnızca SQL Server başarıyla başlatıldıktan sonra değiştirebilirsiniz. İlk çalıştırmadan önce, SQL Server dosyaların master.mdf ve mastlog.ldf olarak adlandırılmalarını bekler.

  3. master veritabanı veri ve günlük dosyalarının adını değiştirin.

    sudo mv /var/opt/mssql/data/master.mdf /var/opt/mssql/data/masternew.mdf
    sudo mv /var/opt/mssql/data/mastlog.ldf /var/opt/mssql/data/mastlognew.ldf
    
  4. SQL Server hizmetini başlatın:

    sudo systemctl start mssql-server
    

Varsayılan döküm dizini konumunu değiştir

filelocation.defaultdumpdir ayarı, bir çökme meydana geldiğinde bellek ve SQL dökümlerinin oluşturulduğu varsayılan konumu değiştirir. Varsayılan olarak, bu dosyalar /var/opt/mssql/log içinde oluşturulur.

Bu yeni konumu kurmak için aşağıdaki komutları kullanın:

  1. Yeni döküm dosyaları için hedef dizini oluşturun. Aşağıdaki örnek yeni bir /tmp/dump dizini oluşturur:

    sudo mkdir /tmp/dump
    
  2. Dizinin sahibini ve grubunu mssql kullanıcı olarak ayarlayın.

    sudo chown mssql /tmp/dump
    sudo chgrp mssql /tmp/dump
    
  3. Varsayılan veri dizinini mssql-conf, set komutuyla değiştirmek için kullanın.

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdumpdir /tmp/dump
    
  4. SQL Server hizmetini yeniden başlatın:

    sudo systemctl restart mssql-server
    

Varsayılan hata günlük dosyası dizin konumunu değiştir

filelocation.errorlogfile ayarı, yeni hata günlüğü, varsayılan profiler izi, sistem sağlık oturumu XE ve Hekaton oturumu XE dosyalarının oluşturulacağı yeri değiştirir. Varsayılan olarak, bu konum /var/opt/mssql/log. SQL Server hata günlük dosyasının bulunduğu dizin, diğer günlükler için varsayılan günlük dizini haline gelir.

Bu ayarları değiştirmek için:

  1. Yeni hata günlük dosyaları için hedef dizini oluşturun. Aşağıdaki örnek yeni bir /tmp/logs dizini oluşturur:

    sudo mkdir /tmp/logs
    
  2. Dizinin sahibini ve grubunu mssql kullanıcı olarak ayarlayın.

    sudo chown mssql /tmp/logs
    sudo chgrp mssql /tmp/logs
    
  3. Varsayılan hata günlüğü dosya adını mssql-conf kullanarak şu komutla değiştirin set:

    sudo /opt/mssql/bin/mssql-conf set filelocation.errorlogfile /tmp/logs/errorlog
    
  4. SQL Server hizmetini yeniden başlatın:

    sudo systemctl restart mssql-server
    

errorlog.numerrorlogs ayarı, günlük döngüsüne geçmeden önce kaç hata günlüğünün tutulacağını belirtmenizi sağlar.

Varsayılan yedekleme dizini konumunu değiştir

filelocation.defaultbackupdir ayarı, yedekleme dosyalarının oluşturulduğu varsayılan konumu değiştirir. Varsayılan olarak, bu dosyalar /var/opt/mssql/data içinde oluşturulur.

Bu yeni konumu kurmak için aşağıdaki komutları kullanın:

  1. Yeni yedekleme dosyaları için hedef dizini oluşturun. Aşağıdaki örnek yeni bir /tmp/backup dizini oluşturur:

    sudo mkdir /tmp/backup
    
  2. Dizinin sahibini ve grubunu mssql kullanıcı olarak ayarlayın.

    sudo chown mssql /tmp/backup
    sudo chgrp mssql /tmp/backup
    
  3. Varsayılan yedekleme dizinini mssql-conf komutunu set kullanarak değiştirmek için şu adımları izleyin:

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir /tmp/backup
    
  4. SQL Server hizmetini yeniden başlatın:

    sudo systemctl restart mssql-server
    

Çekirdek dökümü ayarlarını belirtin

SQL Server işlemlerinden birinde bir özel durum veya kilitlenme oluşursa, SQL Server bir bellek dökümü oluşturur. Bellek dökümü alma işlemi uzun sürebilir ve önemli miktarda alan kaplayabilir. Kaynakları korumak ve yinelenen bellek dökümlerini önlemek için coredump.disablecoredump seçeneğini kullanarak otomatik döküm yakalamayı devre dışı bırakabilirsiniz.

sudo /opt/mssql/bin/mssql-conf set coredump.disablecoredump <true or false>

Otomatik çekirdek dökümü devre dışı bırakıldığında (coredump.disablecoredump olarak ayarlıyken true), kullanıcılar bellek dökümlerini el ile oluşturmaya devam edebilir.

SQL Server'ın topladığı bellek dökümlerinin türünü kontrol etmek için iki seçenek vardır: coredump.coredumptype ve coredump.captureminiandfull. Bunlar, çekirdek dökümü yakalamının iki aşaması ile ilgilidir.

İlk aşama yakalaması, bir istisna sırasında oluşturulan döküm dosyasının türünü belirleyen coredump.coredumptype ayarı tarafından kontrol edilir. İkinci aşama, coredump.captureminiandfull ayarı etkinleştirildiğinde etkinleştirilir. Eğer coredump.captureminiandfull doğru olarak ayarlanmışsa, coredump.coredumptype tarafından belirtilen döküm dosyası oluşturulur ve ikinci bir mini döküm de oluşturulur. coredump.captureminiandfull değerini false olarak ayarlamak, ikinci yakalama girişimini devre dışı bırakır.

  1. Mini ve tam dökümleri coredump.captureminiandfull ayarı ile yakalayıp yakalamayacağınıza karar verin.

    sudo /opt/mssql/bin/mssql-conf set coredump.captureminiandfull <true or false>
    

    Varsayılan: false

  2. Dö dump dosyası türünü coredump.coredumptype ayarıyla belirtin.

    sudo /opt/mssql/bin/mssql-conf set coredump.coredumptype <dump_type>
    

    Varsayılan: miniplus

    Aşağıdaki tablo, olası coredump.coredumptype değerlerini listeler.

    Türü Açıklama
    mini Mini, en küçük döküm dosyası türüdür. Linux sistem bilgilerini kullanarak süreçteki iş parçacıklarını ve modülleri belirler. Döküm sadece ana bilgisayar ortamı iş parçacığı yığınlarını ve modüllerini içerir. Dolaylı bellek referansları veya küreseller içermiyor.
    miniplus MiniPlus, mini'ye benzer, ancak ek bellek içerir. SQLPAL ve ana makine ortamının iç işleyişini anlayarak, döküm dosyasına aşağıdaki bellek bölgelerini ekler:

    - Çeşitli genel değişkenler
    - 64 TB üzerindeki tüm bellek
    - Tüm adlandırılmış bölgeler /proc/$pid/maps içinde bulundu
    - İpliklerden ve yığınlardan dolaylı bellek
    - İlgili thread ortam blokları (TEB'ler) ve süreç ortam blokları (PEB'ler) dahil, thread bilgileri
    - Modül bilgisi
    - VMM ve VAD ağacı
    filtered Filtered, tüm belleğin süreç dahilinde yer aldığı, ancak özel olarak hariç tutulmadığı durumda bir çıkarma tabanlı tasarım kullanır. Tasarım, belirli bölgeleri dökümden hariç tutarak SQLPAL ve konak ortamının iç öğelerini anlar.
    full "/proc/$pid/maps içerisinde bulunan tüm bölgeleri içeren tam bir süreç dökümü olan Full, eksiksiz bir işlem dökümüdür." Bu, coredump.captureminiandfull ayarı tarafından kontrol edilmez.

Basım

SQL Server sürümü, set-edition seçeneği kullanılarak değiştirilebilir. SQL Server sürümünü değiştirmek için, önce SQL Server hizmetinin durdurulması gerekir. Daha fazla bilgi için Linux üzerinde mevcut olan SQL Server sürümlerine bakın, SQL Server sürümleri.

Yüksek kullanılabilirlik

SQL Server örneğinizde kullanılabilirlik gruplarını etkinleştiren hadr.hadrenabled seçeneği. Aşağıdaki komut, hadr.hadrenabled'i 1 olarak ayarlayarak kullanılabilirlik gruplarını etkinleştirir. Ayarın etkili olması için SQL Server'ı yeniden başlatmalısınız.

sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled  1
sudo systemctl restart mssql-server

Kullanılabilirlik gruplarıyla nasıl kullanıldığını öğrenmek için aşağıdaki iki makaleye bakın.

Yerel denetim dizinini ayarla

telemetry.userrequestedlocalauditdirectory ayarı, Yerel Denetim'i etkinleştirir ve Yerel Denetim günlüklerinin oluşturulacağı dizini ayarlamanıza olanak tanır.

  1. Yeni Yerel Denetim günlükleri için bir hedef dizin oluşturun. Aşağıdaki örnek yeni bir /tmp/audit dizini oluşturur:

    sudo mkdir /tmp/audit
    
  2. Dizinin sahibini ve grubunu mssql kullanıcı olarak ayarlayın.

    sudo chown mssql /tmp/audit
    sudo chgrp mssql /tmp/audit
    
  3. telemetry.userrequestedlocalauditdirectory betiğini set komutunu kullanarak root olarak çalıştırın:

    sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
    
  4. SQL Server hizmetini yeniden başlatın:

    sudo systemctl restart mssql-server
    

Daha fazla bilgi için bkz Linux üzerinde SQL Server için kullanım ve tanı verileri toplamayı yapılandırma.

SQL Server yerel ayarını değiştir

SQL Server yerel ayarını, herhangi bir desteklenen dil tanımlayıcısına (LCID) değiştirmek için language.lcid ayarını kullanır.

  1. Aşağıdaki örnek yerel ayarları Fransızca'ya (1036) değiştirir:

    sudo /opt/mssql/bin/mssql-conf set language.lcid 1036
    
  2. Değişiklikleri uygulamak için SQL Server hizmetini yeniden başlatın.

    sudo systemctl restart mssql-server
    

Bellek sınırını ayarla

memory.memorylimitmb ayarı, SQL Server'a sunulan fiziksel bellek miktarını (MB cinsinden) kontrol eder. Varsayılan olarak fiziksel belleğin %80'idir, bu da bellek tükenmesi (OOM) durumlarını önlemek içindir.

Önemli

Bu memory.memorylimitmb ayarı, SQL Server işlemi için kullanılabilecek fiziksel belleğin miktarını sınırlar. max sunucu belleği (MB) ayarı, SQL Server önbellek havuzu için kullanılabilir bellek miktarını ayarlamak için kullanılabilir, ancak asla SQL Server için mevcut olan fiziksel bellek miktarını aşamaz. Detaylı bilgi için maksimum sunucu belleği (MB) sunucu yapılandırma seçeneğine bakın. Sunucu belleği yapılandırma seçenekleri'ne göz atın.

  1. mssql-conf betiğini set komutuyla memory.memorylimitmb için kök olarak çalıştırın. Aşağıdaki örnek, SQL Server’a ayrılan belleği 3,25 GB (3.328 MB) olarak değiştirir.

    sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 3328
    
  2. Değişiklikleri uygulamak için SQL Server hizmetini yeniden başlatın.

    sudo systemctl restart mssql-server
    

Ek bellek ayarları

Bellek ayarları için aşağıdaki seçenekler mevcuttur.

Seçenek Açıklama
memory.disablememorypressure SQL Server bellek baskısını devre dışı bırak. Değerler true veya false (varsayılan) olabilir. Bellek basıncının devre dışı bırakılması, SQL Server'ın fiziksel bellek kullanımını memory.memorylimitmb ile sınırlamak için kullandığı sinyalleri engeller, bu da sonunda kullanımın bu sınırın ötesine geçmesine neden olur.
memory.memory_optimized SQL Server hafıza ile optimize edilmiş özellikleri etkinleştirin veya devre dışı bırakın - kalıcı bellek dosya bilgisi, hafıza koruması. Değerler true veya false olabilir.
memory.enablecontainersharedmemory Yalnızca SQL Server konteynerleri için geçerlidir. Bu ayarı, SQL Server konteynerleri içinde paylaşımlı belleği etkinleştirmek için kullanın. Daha fazla bilgi için, Konteynerlerde VDI yedekleme ve geri yükleme özelliğini etkinleştir konusuna bakın. Değerler true veya false (varsayılan) olabilir.

MSDTC'yi yapılandırma

network.rpcport ve distributedtransaction.servertcpport ayarları, Microsoft Dağıtılmış İşlem Düzenleyicisi (MSDTC)'yi yapılandırmak için kullanılır. Bu ayarları değiştirmek için, aşağıdaki komutları çalıştırın:

  1. network.rpcport betiğini set komutuyla kök kullanıcı olarak mssql-conf için çalıştırın.

    sudo /opt/mssql/bin/mssql-conf set network.rpcport <rcp_port>
    
  2. Ardından distributedtransaction.servertcpport ayarını yapın:

    sudo /opt/mssql/bin/mssql-conf set distributedtransaction.servertcpport <servertcpport_port>
    

Bu değerleri ayarlamanın yanı sıra, yönlendirmeyi yapılandırmalı ve 135 numaralı port için güvenlik duvarını güncellemelisiniz. Daha fazla bilgi için, Linux'ta Microsoft Dağıtılmış İşlem Koordinatörü'nü (MSDTC) nasıl yapılandıracağınız konusuna bakın.

MSDTC'yi izlemek ve sorunlarını gidermek için mssql-conf kullanabileceğiniz birkaç ayar daha vardır. Aşağıdaki tablo bu ayarları kısaca açıklar. Bu makalenin kullanımı hakkında daha fazla bilgi için, Windows destek makalesinde yer alan ayrıntılara bakın, Windows 10 bilgisayarda MS DTC için tanılama izlemeyi etkinleştirme.

Seçenek Açıklama
distributedtransaction.allowonlysecurerpccalls Yalnızca güvenli RPC çağrılarını dağıtılmış işlemler için yapılandırın.
distributedtransaction.fallbacktounsecurerpcifnecessary Dağıtımlı işlemler için yalnızca güvenli RPC çağrılarını yapılandırın.
distributedtransaction.maxlogsize DTC işlem günlük dosyası boyutu MB olarak. Varsayılan 64 MB
distributedtransaction.memorybuffersize İzlerin depolandığı dairesel tamponun boyutu. Bu boyut MB cinsindedir ve varsayılan değer 10 MB'dir.
distributedtransaction.servertcpport MSDTC rpc sunucu bağlantı noktası
distributedtransaction.trace_cm Bağlantı yöneticisinde izler
distributedtransaction.trace_contact İletişim havuzunu ve kişileri izler.
distributedtransaction.trace_gateway Traces Gateway başlangıç noktası
distributedtransaction.trace_log Günlük izleme
distributedtransaction.trace_misc Diğer kategorilere ayrılmamış izler
distributedtransaction.trace_proxy MSDTC proxy'si içinde oluşturulan izler
distributedtransaction.trace_svc İzler hizmet ve .exe dosyası başlatma
distributedtransaction.trace_trace İzleme altyapısının kendisi
distributedtransaction.trace_util Birden çok konumdan çağrılan izleme yardımcı işlemleri
distributedtransaction.trace_xa XA İşlem Yöneticisi (XATM) izleme kaynağı
distributedtransaction.tracefilepath İzleme dosyalarının depolanması gereken klasör
distributedtransaction.turnoffrpcsecurity Dağıtılmış işlemler için RPC güvenliğini etkinleştirme veya devre dışı bırakma

Machine Learning Services EULA'larını kabul etme

Veritabanı Motoruna makine öğrenimi R veya Python paketleri eklemek, R ve Python'un açık kaynak dağıtımlarının lisans şartlarını kabul etmenizi gerektirir. Aşağıdaki tablo, mlservices EULA'larla ilgili mevcut komutları veya seçenekleri listelemektedir. Yüklediğiniz programlara bağlı olarak, aynı EULA parametresi hem R hem de Python için kullanılır.

# For all packages: database engine and mlservices
# Setup prompts for mlservices EULAs, which you need to accept
sudo /opt/mssql/bin/mssql-conf setup

# Add R or Python to an existing installation
sudo /opt/mssql/bin/mssql-conf setup accept-eula-ml

# Alternative valid syntax
# Adds the EULA section to the INI and sets acceptulam to yes
sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y

# Rescind EULA acceptance and removes the setting
sudo /opt/mssql/bin/mssql-conf unset EULA accepteulaml

EULA kabulünü doğrudan mssql.conf dosyasına ekleyebilirsiniz.

[EULA]
accepteula = Y
accepteulaml = Y

Giden ağ erişimini etkinleştir

SQL Server Machine Learning Services özelliğindeki R, Python ve Java uzantıları için giden ağ erişimi varsayılan olarak devre dışıdır. Giden istekleri etkinleştirmek için outboundnetworkaccess Boole özelliğini mssql-conf kullanarak ayarlayın.

Özelliği ayarladıktan sonra, güncellenmiş değerleri INI dosyasından okumak için SQL Server Launchpad hizmetini yeniden başlatın. Yeniden başlatma iletisi, genişletilebilirlik ile ilgili bir ayar değiştirildiğinde size anımsatır.

# Adds the extensibility section and property.
# Sets "outboundnetworkaccess" to true.
# This setting is required if you want to access data or operations off the server.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1

# Turns off network access but preserves the setting
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 0

# Removes the setting and rescinds network access
sudo /opt/mssql/bin/mssql-conf unset extensibility.outboundnetworkaccess

outboundnetworkaccess öğesini doğrudan mssql.conf dosyasına da ekleyebilirsiniz.

[extensibility]
outboundnetworkaccess = 1

SQL Server Bağlayıcısı için Azure Key Vault için günlük kaydı seviyesini değiştir

SQL Server 2022 (16.x) CU 14 ve sonraki sürümlerde, Linux üzerindeki SQL Server, Azure Key Vault ile TDE Genişletilebilir Anahtar Yönetimi'ni destekler. Günlük seviyesini aşağıdaki değerlerden birine ayarlayabilirsiniz:

Seviye Açıklama
0 (varsayılan) Bilgi
1 Hata
2 Günlük yok

SQL Server Bağlayıcısı'nın günlük düzeyini değiştirmek için aşağıdaki örneği kullanın:

sudo /opt/mssql/bin/mssql-conf set sqlconnector.logginglevel 1

Daha fazla bilgi için, bkz Use SQL Server Connector with SQL Encryption Features.

TCP portunu değiştir

network.tcpport ayarı, SQL Server'ın bağlantılar için dinlediği TCP portunu değiştirir. Varsayılan olarak, bu port 1433'e ayarlanmıştır. Bağlantı noktasını değiştirmek için aşağıdaki komutları çalıştırın:

  1. mssql-conf betiğini set komutuyla network.tcpport için root kullanıcısı olarak çalıştırın.

    sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>
    
  2. SQL Server hizmetini yeniden başlatın:

    sudo systemctl restart mssql-server
    
  3. SQL Server'a şimdi bağlanırken, ana bilgisayar adından veya IP adresinden sonra virgülle (,) özel bağlantı noktasını belirtmeniz gerekir. Örneğin, ile sqlcmdbağlanmak için aşağıdaki komutu kullanabilirsiniz:

    sqlcmd -S localhost,<new_tcp_port> -U test -P test
    

TLS ayarlarını belirtin

Aşağıdaki seçenekler, Linux üzerinde çalışan bir SQL Server örneği için TLS'i yapılandırır.

Seçenek Açıklama
network.forceencryption Eğer 1 ise, SQL Server tüm bağlantıların şifrelenmesini zorlar. Varsayılan olarak, bu seçenek 0'dır.
network.forcestrict 1 ise, SQL Server tüm uç noktalarda katı şifreleme uygular. Varsayılan olarak, bu seçenek 0'dır.

SQL Server 2025 (17.x) ve sonraki sürümler için geçerlidir.
network.tlscert SQL Server'ın TLS için kullandığı sertifika dosyasının mutlak yolu. Example: /etc/ssl/certs/mssql.pem Sertifika dosyasının mssql hesabı tarafından erişilebilir olması gerekir. Microsoft, chown mssql:mssql <file>; chmod 400 <file> kullanarak dosyaya erişimi kısıtlamayı tavsiye ediyor.
network.tlskey SQL Server'ın TLS için kullandığı özel anahtar dosyasının mutlak yolu. Example: /etc/ssl/private/mssql.key Sertifika dosyasının mssql hesabı tarafından erişilebilir olması gerekir. Microsoft, chown mssql:mssql <file>; chmod 400 <file> kullanarak dosyaya erişimi kısıtlamayı tavsiye ediyor.
network.tlsprotocols SQL Server tarafından izin verilen TLS protokollerinin virgülle ayrılmış bir listesi. SQL Server her zaman izin verilen en güçlü protokolü müzakere etmeye çalışır. Bir müşteri hiçbir izin verilen protokolü desteklemiyorsa, SQL Server bağlantı girişimini reddeder. Uyumluluk için, tüm desteklenen protokoller varsayılan olarak izin verilir (1.2, 1.1, 1.0). Müşterileriniz TLS 1.2'yi destekliyorsa, Microsoft yalnızca TLS 1.2'ye izin vermenizi önerir.
network.tlsciphers SQL Server tarafından TLS için izin verilen şifreleri belirtir. Bu dizi, OpenSSL'in şifre listesi formatına göre biçimlendirilmelidir. Genel olarak, bu seçeneği değiştirmenize gerek kalmayacaktır.
Varsayılan olarak, şu şifreleme yöntemlerine izin verilir:
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
network.kerberoskeytabfile Kerberos keytab dosyasının dizini

SQL Server'a Linux üzerinde bağlanırken TLS ayarlarını kullanma örneği için, Encrypt connections to Linux üzerinde SQL Server konusuna bakın.

Ağ ayarları

Başlangıç Kılavuzu: Linux'ta SQL Sunucu ile Active Directory kimlik doğrulamasının kullanımını hakkında kapsamlı bilgi için bakın.

Aşağıdaki seçenekler kullanılarak mssql-confyapılandırılabilen ek ağ ayarlarıdır.

Seçenek Açıklama
network.disablesssd SSSD'nin Active Directory hesap bilgilerini sorgulamasını devre dışı bırakın ve LDAP çağrılarını varsayılan hale getirin. Değerler true veya false olabilir.
network.enablekdcfromkrb5conf krb5.conf dosyasından KDC bilgilerini aramayı etkinleştirin. Değerler true veya false olabilir.
network.forcesecureldap Etki alanı denetleyicisiyle iletişim kurmak için LDAPS kullanımı zorunlu kılın. Değerler true veya false olabilir.
network.ipaddress Gelen bağlantılar için IP adresi.
network.kerberoscredupdatefrequency Güncellenmesi gereken kerberos kimlik bilgileri için yapılan kontroller arasındaki süre, saniye cinsinden. Değer bir tamsayıdır.
network.privilegedadaccount Active Directory kimlik doğrulaması için kullanılacak ayrıcalıklı Active Directory kullanıcısı. Değer: <username>. Daha fazla bilgi için, bkz. Kılavuz: Linux'ta SQL Server ile Active Directory kimlik doğrulamasını kullanma
network.ipv6dnsrecordslimit DNS istekleriyle dönen AAAA kayıtlarının sayısına ayarlanabilir bir sınır koyun. Değer, 0 ile 5 arasında pozitif bir tam sayıdır. Bu seçenek, WinHTTP isteklerinin varsayılan tekrar denemesi sayısı (6) ile en az bir IPv4 adresine erişmeyi denemesini garanti eder.
uncmapping UNC yolunu yerel bir yola eşler. Örneğin, sudo /opt/mssql/bin/mssql-conf set uncmapping //servername/sharename /tmp/folder.
ldaphostcanon OpenLDAP'nin bağlama adımı sırasında konak adlarını kurallı hale getirip getirinmeyeceğini ayarlayın. Değerler true veya false olabilir.

İzleme bayraklarını etkinleştir veya devre dışı bırak

seçeneği, traceflag SQL Server hizmetinin başlatılması için izleme bayraklarını etkinleştirir veya devre dışı bırakır. Bir iz bayrağını etkinleştirmek/devre dışı bırakmak için aşağıdaki komutları kullanın:

  1. İzleme bayrağını etkinleştirmek için aşağıdaki komutu kullanın. Örneğin, izleme bayrağı 1234 için:

    sudo /opt/mssql/bin/mssql-conf traceflag 1234 on
    
  2. Birden çok izleme bayrağını ayrı olarak belirterek etkinleştirebilirsiniz:

    sudo /opt/mssql/bin/mssql-conf traceflag 2345 3456 on
    
  3. Benzer şekilde, bir veya daha fazla etkin izleme bayrağını belirterek ve off parametresini ekleyerek devre dışı bırakabilirsiniz.

    sudo /opt/mssql/bin/mssql-conf traceflag 1234 2345 3456 off
    
  4. Değişiklikleri uygulamak için SQL Server hizmetini yeniden başlatın.

    sudo systemctl restart mssql-server
    

Ayarı kaldır

mssql-conf set ile yapılan herhangi bir ayarı geri almak için unset seçeneği ve ayar adı ile mssql-conf çağrısı yapın. Bu ayarı temizler, böylece onu varsayılan değerine etkili bir şekilde geri döndürür.

  1. Aşağıdaki örnek network.tcpport seçeneğini temizler.

    sudo /opt/mssql/bin/mssql-conf unset network.tcpport
    
  2. SQL Server hizmetini yeniden başlatın.

    sudo systemctl restart mssql-server
    

Mevcut ayarları görüntüle

Yapılandırılmış ayarları görüntülemek için mssql.conf dosyasının içeriğini çıkarmak üzere aşağıdaki komutu çalıştırın.

sudo cat /var/opt/mssql/mssql.conf

Bu dosyada gösterilmeyen tüm ayarlar varsayılan değerlerini kullanıyor. Bir sonraki bölüm mssql.conf dosyası örneği sağlar.

Çeşitli seçeneklere göz atın

Çeşitli seçenekleri yapılandırmak için mssql-conf yardımcı programını kullanarak help komutunu çalıştırın.

sudo /opt/mssql/bin/mssql-conf --help

Sonuçlar, çeşitli yapılandırma seçenekleri ve her bir ayar için kısa bir açıklama sağlar.

mssql.conf biçimi

Aşağıdaki /var/opt/mssql/mssql.conf dosyası her ayar için bir örnek sağlar. Bu formatı, gerektiğinde mssql.conf dosyasında elle değişiklik yapmak için kullanabilirsiniz. Dosyayı manuel olarak değiştirirseniz, değişikliklerin uygulanabilmesi için SQL Server'ı yeniden başlatmalısınız. Docker ile mssql.conf dosyasını kullanabilmek için, Docker'ın verilerinizi kalıcı hale getirmesi gerekmektedir. Önce, tam bir mssql.conf dosyasını ana makine dizininize ekleyin ve ardından konteyneri çalıştırın. Linux üzerinde SQL Server için kullanımı ve tanılama verilerini toplamayı yapılandırma bölümünde buna bir örnek verilmiştir.

[EULA]
accepteula = Y

[coredump]
captureminiandfull = true
coredumptype = full

[filelocation]
defaultbackupdir = /var/opt/mssql/data/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/data/

[hadr]
hadrenabled = 0

[language]
lcid = 1033

[memory]
memorylimitmb = 4096

[network]
forceencryption = 0
ipaddress = 10.192.0.0
kerberoskeytabfile = /var/opt/mssql/secrets/mssql.keytab
tcpport = 1401
tlscert = /etc/ssl/certs/mssql.pem
tlsciphers = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2,1.1,1.0

[sqlagent]
databasemailprofile = default
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7

[telemetry]
customerfeedback = true
userrequestedlocalauditdirectory = /tmp/audit

[traceflag]
traceflag0 = 1204
traceflag1 = 2345
traceflag = 3456
[EULA]
accepteula = Y
accepteulaml = Y

[coredump]
captureminiandfull = true
coredumptype = full

[distributedtransaction]
servertcpport = 51999

[filelocation]
defaultbackupdir = /var/opt/mssql/data/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/data/

[hadr]
hadrenabled = 0

[language]
lcid = 1033

[memory]
memorylimitmb = 4096

[network]
forceencryption = 0
ipaddress = 10.192.0.0
kerberoskeytabfile = /var/opt/mssql/secrets/mssql.keytab
rpcport = 13500
tcpport = 1401
tlscert = /etc/ssl/certs/mssql.pem
tlsciphers = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2,1.1,1.0

[sqlagent]
databasemailprofile = default
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7

[telemetry]
customerfeedback = true
userrequestedlocalauditdirectory = /tmp/audit

[traceflag]
traceflag0 = 1204
traceflag1 = 2345
traceflag = 3456

SQL belgelerine katkıda bulunma

SQL içeriğini kendiniz düzenleyebildiğinizi biliyor muydunuz? Bunu yaparsanız, belgelerimizin geliştirilmesine yardımcı olmakla kalmaz, aynı zamanda sayfaya katkıda bulunan olarak da kabul edilirsiniz.

Daha fazla bilgi için bkz. Microsoft Learn belgelerini düzenleme.