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.
Aşağıdaki bölümlerde Linux üzerinde SQL Server ile ilgili bilinen sorunlar açıklanmaktadır.
Genel
Aşağıdaki tabloda Linux üzerinde SQL Server ile ilgili en yaygın sorunlar listelenir.
| Sorun | Çözünürlük |
|---|---|
| SQL Server'ın kurulduğu ana bilgisayar adının uzunluğu 15 karakter veya daha kısa olmalıdır. | İsmi /etc/hostname 15 karakter uzunluğunda veya daha kısa bir değere dönüştürün. |
| Sistem zamanını manuel olarak geriye ayarladığınızda, SQL Server Database Engine içindeki dahili sistem zamanını güncellemeyi durdurur. | SQL Server yeniden başlatın. |
| Yalnızca tek örnekli yüklemeler desteklenir. | Bir ana bilgisayarda birden fazla örnek bulundurmak için sanal makineler veya Linux konteynerleri kullanmayı düşünün. |
| SQL Server Yapılandırma Yöneticisi, Linux üzerinde SQL Server'a bağlanamıyor. | linux'ta Yapılandırma Yöneticisi desteklenmez. Bunun yerine Linux üzerinde SQL Server yönetmek için kullanınmssql-conf. |
sa hesabının varsayılan dili İngilizce'dir. |
sa açıklamasıyla ALTER LOGIN hesabının dilini değiştirin. |
OLE DB sağlayıcısı aşağıdaki uyarıyı günlüğe kaydeder:Failed to verify the Authenticode signature of 'C:\binn\msoledbsql.dll'. Signature verification of SQL Server DLLs will be skipped. Genuine copies of SQL Server are signed. Failure to verify the Authenticode signature might indicate that this isn't an authentic release of SQL Server. Install a genuine copy of SQL Server or contact customer support. |
Eylem gerekmez. OLE DB sağlayıcısı ise SHA256 imzası kullanır. SQL Server Database Engine, imzalı .dll doğru şekilde doğrulamaz. |
Şifreyi sıfırlama komutu aşağıdaki mssql-conf hatayı atar:Unable to set the system administrator password. Please consult the ERRORLOG in /path for more information. |
Hata iletisi hatalı negatif. Şifre sıfırlama başarılı olur ve yeni şifreyi kullanmaya devam edebilirsiniz. Yalnızca SQL Server 2022 (16.x) konteyner görüntüleri için geçerlidir. |
Veritaban -ları
Veritabanını yardımcı
mssql-confprogramla birlikte taşıyamazsınızmaster. Diğer sistem veritabanlarını da taşıyabilirsinizmssql-conf.Windows'da SQL Server yedeklenmiş bir veritabanını geri yüklerken, Transact-SQL deyiminde
WITH MOVEyan tümcesini kullanmanız gerekir. Daha fazla bilgi için bkz. Yedekleme ve geri yükleme kullanarak SQL Server veritabanını Windows'den Linux'a geçirme.Aktarım Katmanı Güvenliği (TLS) için bazı algoritmalar (şifre paketleri) Linux üzerinde SQL Server ile düzgün çalışmaz. Bu davranış, SQL Server'a bağlanmaya çalıştığınızda bağlantı hatalarına ve yüksek kullanılabilirlik gruplarındaki replikalar arasında bağlantı kurma sorunlarına yol açar.
Bu sorunu çözmek için, Linux üzerinde SQL Server yapılandırma betiklerini sorunlu şifre paketlerini devre dışı bırakacak şekilde değiştirin
mssql.conf:Aşağıdaki bölümü
/var/opt/mssql/mssql.conf'a ekleyin. Ünlem simgesi (!) ifadeyi olumsuzlar. Bu negeleme, OpenSSL'ye ardından gelen şifreleme paketini kullanmamasını söyler.[network] tlsciphers=AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!ECDHE-RSA-AES128-GCM-SHA256:!ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES128-GCM-SHA256:!ECDHE-ECDSA-AES256-SHA384:!ECDHE-ECDSA-AES128-SHA256:!ECDHE-ECDSA-AES256-SHA:!ECDHE-ECDSA-AES128-SHA:!ECDHE-RSA-AES256-SHA384:!ECDHE-RSA-AES128-SHA256:!ECDHE-RSA-AES256-SHA:!ECDHE-RSA-AES128-SHA:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA:!DHE-DSS-AES256-SHA256:!DHE-DSS-AES128-SHA256:!DHE-DSS-AES256-SHA:!DHE-DSS-AES128-SHA:!DHE-DSS-DES-CBC3-SHA:!NULL-SHA256:!NULL-SHAaşağıdaki komutla SQL Server yeniden başlatın.
sudo systemctl restart mssql-server
Windows SQL Server OLTP kullanan veritabanlarını Linux üzerinde SQL Server'In-Memory ye geri getiremezsiniz. SQL Server 2014 (12.x) veritabanınız In-Memory OLTP kullanıyorsa, önce veritabanlarını Windows'da daha yeni bir SQL Server sürümüne yükseltin. Sonra, yedekleme/geri yükleme veya ayırma/ekleme ile Linux üzerinde SQL Server'a taşıyın.
Linux şu anda kullanıcı iznini desteklemiyor
ADMINISTER BULK OPERATIONS.SQL Server 2019 (15.x) CU 16 ve daha sonraki sürümlerle yapılan Saydam Veri Şifrelemesi (TDE) sıkıştırılmış yedeklemeleri, önceki SQL Server 2019 (15.x) CU sürümlerine geri getiremezsiniz. Daha fazla bilgi için bkz.: DÜZELTME: RESTORE LOG veya RESTOREDATABASE yürütülürken 3241 hatası oluşur.
SQL Server 2019 (15.x) CU 16 ve sonraki sürümlerini hâlâ kullanarak önceki CU sürümlerinde yapılan TDE sıkıştırılmış yedeklemeleri geri getirebilirsiniz (SQL Server 2019 (15.x).
Ubuntu 22.04'e SQL Server 2022 (16.x) yüklediğinizde şu hata iletisini görebilirsiniz:
Failed to start Microsoft SQL Server Database Engine. Hata günlüğünü gözden geçirirseniz sistem veritabanları için yanlış bir yol görürsünüz.Bu sorunu geçici olarak çözmek için örneği tek kullanıcı modunda başlatın ve
ALTER DATABASE ... MODIFY FILEkullanarak sistem veritabanlarının yapılandırılan konumunu/var/opt/mssql/datavarsayılan konuma taşıyın. Bu değişikliği yaptıktan sonra hizmeti yeniden başlatın.
Ağ
Süreçten sqlservr giden TCP bağlantılarını içeren özellikler, örneğin bağlı sunucular, PolyBase veya erişilebilirlik grupları, aşağıdaki iki koşul da geçerlidirse çalışmayabilir:
Hedef sunucu, IP adresi olarak değil ana bilgisayar adı olarak belirtilir.
Kaynak örnekte çekirdekte IPv6 devre dışı bırakıldı. Sisteminizin çekirdekte IPv6'yı etkinleştirip etkinleştirmediğini doğrulamak için aşağıdaki tüm testlerin geçmesi gerekir:
-
cat /proc/cmdlinemevcut çekirdeğin önyükleme cmdline'ını yazdırır. Çıktıipv6.disable=1içermemelidir. -
/proc/sys/net/ipv6/dizini mevcut olmalıdır. - Çağrı yapan
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP)bir C programı başarılı olmalı. Sistem çağrısı anfd != -1döndürmeli ve ileEAFNOSUPPORTbaşarısız olmamalıdır.
-
Tam hata özelliğine bağlıdır. Bağlı sunucular için oturum açma zaman aşımı hatası görürsünüz. Kullanılabilirlik grupları için, ALTER AVAILABILITY GROUP JOIN ikincil cihazdaki DDL beş dakika sonra bir download configuration timeout hata ile arızalanır.
Bu sorunu geçici olarak çözmek için aşağıdaki seçeneklerden birini yapın:
TCP bağlantısının hedefini belirtmek için konak adları yerine IP'leri kullanın.
Önyükleme komut satırından
ipv6.disable=1kaldırarak çekirdekte IPv6'yı etkinleştirin. yöntemi Linux dağıtımına ve grubgibi önyükleme yükleyicisine bağlıdır. IPv6'nın devre dışı bırakılmasını istiyorsanız,net.ipv6.conf.all.disable_ipv6 = 1yapılandırmasındasysctlayarlayarak devre dışı bırakabilirsiniz (örneğin,/etc/sysctl.conf). Bu ayar, sistemin ağ bağdaştırıcısının bir IPv6 adresi almasına engel olsa da,sqlservrözelliklerinin çalışmasını sağlar.
TLS 1.3, SQL Server 2022'de desteklenmiyor
Sadece SQL Server 2022 (16.x) için geçerlidir.
TLS 1.3, Windows için SQL Server 2022 (16.x) üzerinde destekleniyor olsa da, Linux üzerinde TLS 1.2 kullanmanız gerekir.
Uyarı
TLS 1.3, Ubuntu 22.04, Ubuntu 24.04, RHEL 9 ve RHEL 10 üzerinde SQL Server 2025 (17.x) için desteklenir. TLS 1.3 varsayılan olarak etkindir.
Ağ Dosya Sistemi (NFS)
Üretimde Ağ Dosya Sistemi (NFS) uzak paylaşımları kullanıyorsanız aşağıdaki destek gereksinimlerini not edin:
NFS sürüm 4.2 veya sonraki sürümleri kullanın. NFS'nin eski sürümleri, modern dosya sistemlerinde yaygın olarak kullanılan
fallocateve seyrek dosya oluşturma gibi gerekli özellikleri desteklemez.NFS mount üzerinde sadece
/var/opt/mssqldizinler destekleniyor. SQL Server sistem ikili dosyaları gibi diğer dosyalar desteklenmez.Uzak paylaşımı bağlarken, NFS istemcilerinin mutlaka
nolockseçeneğini kullandığından emin olun.
Microsoft Entra kimlik doğrulaması ile IPv6 bağlantısı
Sunucunuz veya kapsayıcınız IPv6 için etkinleştirildiyse, IPv6 adreslerinin erişilebilir ve yönlendirilebilir olduğundan emin olun. IPv6 tam olarak yapılandırılmamışsa, Microsoft Entra ID kimlik doğrulama istekleri erişilemeyen IPv6 uç noktaları nedeniyle başarısız olabilir.
SQL Server 2022 CU 19 ve sonraki sürümlerde IPv6 DNS çözümleme davranışını denetlemek için network.ipv6dnsrecordslimit içindeki mssql-conf seçeneğini ayarlayın. Daha fazla bilgi için bkz . network.ipv6dnsrecordslimit.
Yerelleştirme
Kurulum sırasında yerel ayarınız İngilizce (
en_us) değilse bash oturumunuzda/terminalinizde UTF-8 kodlaması kullanmanız gerekir. ASCII kodlaması kullanıyorsanız aşağıdaki çıkışa benzer bir hata görebilirsiniz:UnicodeEncodeError: 'ascii' codec u'\xf1' karakterini pozisyon 8'de kodlayamaz: geçerli aralıkta değil (128)
UTF-8 kodlamasını kullanamıyorsan, dil seçimini belirtmek
MSSQL_LCIDiçin ortam değişkeniyle setup çalıştır.sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setupSQL Server'ı İngilizce olmayan bir kurulum yaptığınızda
mssql-conf setup, yerelleştirilmiş metnin ardından, "Configuring SQL Server... ". Veya Latin tabanlı olmayan yüklemelerde cümle tamamen eksik olabilir. Eksik tümce aşağıdaki yerelleştirilmiş dizeyi görüntülemelidir:Lisans PID'i başarıyla işlendi. Yeni sürüm [<Name> sürümü] şeklindedir.
Bu dizi yalnızca bilgi amaçlı görünür ve SQL Server'ın kurulumunu etkilemez.
Full-Text Arama
Microsoft Office belgelere yönelik filtreler de dahil olmak üzere tüm filtreler bu sürümde kullanılamaz. Desteklenen filtrelerin listesi için bkz. Linux'ta SQL Server Full-Text Search Yükleme.
SQL Server Integration Services (SSIS)
mssql-server-is paketi SUSE Linux Enterprise Server'da (SLES) desteklenmez. Paket, Ubuntu ve Red Hat Enterprise Linux (RHEL) üzerinde desteklenmektedir.
Integration Services paketleri Linux'ta ODBC bağlantılarını kullanabilir. Bu işlevsellik, SQL Server ve MySQL ODBC sürücüleriyle çalışır ve ODBC spesifikasyonunu takip eden herhangi bir Unicode ODBC sürücüsüyle de çalışmalıdır. Tasarım zamanında, ODBC verilerine bağlanmak için bir DSN veya bir bağlantı dizesi sağlayabilirsiniz; ayrıca Windows authentication'ı da kullanabilirsiniz. Daha fazla bilgi için Linux 'da ODBC desteği duyurusununblog gönderisine bakın.
Bu sürüm, Linux'ta SSIS paketleri çalıştırıldığında aşağıdaki özellikleri desteklemez:
- Integration Services Katalogu veritabanı
- SQL Server Agent tarafından zamanlanmış paket yürütme
- Windows Kimlik Doğrulaması
- Üçüncü taraf bileşenleri
- Veri yakalamayı (CDC) değiştirme
- Integration Services Ölçeklendirme
- SSIS için Azure Özellik Paketi
- Hadoop ve HDFS desteği
- SAP BW için Microsoft Bağlayıcısı
Sınırlı veya hiç desteklenmeyen yerleşik SSIS bileşenlerinin listesi için, Linux'ta SQL Server Integration Services (SSIS) için özellik desteği ve dikkate alınan unsurlar bölümüne bakınız.
Linux'ta SSIS hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
- Blog gönderisi Linuxiçin SSIS desteği duyuruyor.
- Linux'ta SQL Server Integration Services (SSIS) yükleme
- SSIS ile Linux'ta verileri ayıklama, dönüştürme ve yükleme
SQL Server Management Studio (SSMS)
Aşağıdaki sınırlamalar, Linux üzerinde SQL Server bağlı Windows SQL Server Management Studio için geçerlidir.
Bakım planları desteklenmez.
Yönetim Veri Ambarı (MDW) ve SQL Server Yönetim Stüdyosu'ndaki veri toplayıcı desteklenmez.
Windows Kimlik Doğrulaması veya Windows olay günlüğü seçeneklerine sahip SQL Server Management Studio kullanıcı arabirimi bileşenleri Linux ile çalışmaz. Bu özellikleri SQL Server oturum açma bilgileri gibi diğer seçeneklerle kullanmaya devam edebilirsiniz.
Kayıt dosyalarının sayısını koruyamazsınız.
Yüksek kullanılabilirlik ve olağanüstü durum kurtarma
Sadece SQL Server 2022 (16.x) için geçerlidir.
SELinux etkinleştirilmiş sınırlı bir uygulama olarak RHEL 9'da SQL Server 2022 (16.x) CU 16 ve önceki sürümleri çalıştırdığınızda Pacemaker kümelemesi beklendiği gibi çalışmayabilir. Pacemaker küme yeteneklerini kullanmak için SQL Server 2022 (16.x) uygulamasını SELinux açık ve sınırsız bir uygulama olarak kurmalısınız. Bu sorun SQL Server 2022 (16.x) CU 17'de giderilmiştir.
Machine Learning Hizmetleri
Sadece SQL Server 2022 (16.x) için geçerlidir.
RHEL 9 ve Ubuntu 22.04 için SQL Server 2022 (16.x) paketleri için, Machine Learning Services'i kurmadan önce bu cgroup-v1 ön koşulları göz önünde bulundurun.
Ön koşul olarak, Red Hat'ten Red Hat Enterprise Linux 9'u cgroups'u manuel olarak yönetmek için cgroupfs kullanma bölümünü etkinleştirin
cgroup-v1.Ardından yönergeleri izleyerek belgelerde belirtildiği şekilde SQL Machine Learning Hizmetleri'ni yükleyin.
Ağ ad alanı yalıtımını devre dışı bırakın.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1Bu değişikliklerin geçerli olması için
mssql-launchpaddhizmetini yeniden başlatın.sudo systemctl restart mssql-launchpadd
SQL Server 2025'teki bilinen sorunlar
Aşağıdaki sorunlar SQL Server 2025'i (17.x) etkiler.
Linux üzerinde SQL Server karma CPU mimarisine sahip makinelerde başlatılamıyor
Issue: Makine Intel 12. Nesil veya sonraki bir karma mimari CPU kullanıyorsa ve konak işletim sistemi Linux ise Linux'ta SQL Server örnekleri başlatılamaz.
Aşağıdaki çıkışa benzer bir hata iletisi görebilirsiniz:
Reason: 0x00000004 Message: ASSERT: Expression=(result * DrtlGetProcessorCoreCount() == DrtlGetProcessorCount()) File=LibOS\Windows\Kernel\SQLPal\common\dk\sos\src\sosnumap.cpp Line=208
Linux ana bilgisayar işletim sistemi kullanmak istiyorsanız BIOS'unuzda verimlilik çekirdeklerini (E-çekirdekler) devre dışı bırakarak sorunu çözebilirsiniz. Eğer konteynerler veya Windows (WSL dahil) Hyper-V gibi hipervizör kullanırsanız, sorun sizi etkilemez.
Linux işletim sistemlerinde desteklenmeyen yerel ONNX modelleri
doğrudan SQL Server üzerinde barındırılan CREATE EXTERNAL MODEL yerel ONNX modelleri şu anda SQL Server 2025 (17.x) üzerinde Linux için kullanılamamaktadır.
İlgili içerik
- Linux'ta SQL Server 2022 için sürüm notları
- Linux üzerinde SQL Server 2022'nin Sürümleri ve Desteklenen Özellikler
- Linux üzerinde SQL Server sorunlarını giderin