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 listelenmiştir.
| Sorun | Çözünürlük |
|---|---|
| SQL Server'ın yüklü olduğu konak adının uzunluğu 15 karakter veya daha az olmalıdır. |
/etc/hostname adını 15 karakter uzunluğunda veya daha kısa bir değerle değiştirin. |
| Sistem saatinin zamana geri doğru el ile ayarlanması, SQL Server'ın Veritabanı Altyapısı içindeki iç sistem saatini güncelleştirmeyi durdurmasına neden olur. | SQL Server'i yeniden başlatın. |
| Yalnızca tek örnekli yüklemeler desteklenir. | Belirli bir konakta birden fazla örneğin olmasını istiyorsanız, sanal makineleri veya Linux kapsayıcılarıkullanmayı göz önünde bulundurun. |
| SQL Server Configuration Manager, Linux üzerinde SQL Server'a bağlanamıyor. | Hiç kimse. |
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ı SHA256 kullanılarak imzalanır. SQL Server Veritabanı Altyapısı imzalı .dll'ı doğru bir şekilde doğrulamaz. |
mssql-conf kullanarak parolayı sıfırla komutu aşağıdaki hatayı döndürür:Unable to set the system administrator password. Please consult the ERRORLOG in /path for more information. |
Hata iletisi hatalı negatif. Parola sıfırlama başarılı oldu ve yeni parolayı kullanmaya devam edebilirsiniz. Şunlar için geçerlidir: yalnızca SQL Server 2022 (16.x) kapsayıcı görüntüleri. |
Veritaban -ları
masterveritabanı mssql-conf yardımcı programıyla taşınamaz. Diğer sistem veritabanları mssql-confile taşınabilir.Windows üzerinde SQL Server'da yedeklenmiş bir veritabanını geri yüklerken, Transact-SQL deyimindeki
WITH MOVEyan tümcesini kullanmanız gerekir. Daha fazla bilgi için bkz. Yedekleme ve geri yüklemekullanarak SQL Server veritabanını Windows'tan 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, SQL Server'a bağlanmaya çalışırken bağlantı hatalarına ve yüksek kullanılabilirlik gruplarındaki çoğaltmalar arasında bağlantı kurma sorunlarına neden olur.
Bu sorunu çözmek için, aşağıdaki adımları izleyerek Linux üzerinde SQL Server'ın
mssql.confyapılandırma betiğini değiştirerek sorunlu şifreleme paketlerini devre dışı bırakın:Aşağıdaki bölümü
/var/opt/mssql/mssql.conf'a ekleyin. Ünlem simgesi (!) ifadeyi olumsuzlar. Bu, OpenSSL'e aşağıdaki şifreleme paketini kullanmaması gerektiğini bildirir.[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-SHASQL Server'i aşağıdaki komutla yeniden başlatın.
sudo systemctl restart mssql-server
In-Memory OLTP kullanan Windows'da SQL Server 2014 (12.x) veritabanları Linux üzerinde SQL Server'a geri yüklenemez. SQL Server 2014 (12.x) veritabanınız In-Memory OLTP kullanıyorsa, önce veritabanlarını Windows üzerinde SQL Server'ın daha yeni bir sürümüne yükseltin. Ardından, yedekleme/geri yükleme veya ayırma/ekleme ile Linux üzerinde SQL Server'a taşıyabilirsiniz.
Kullanıcı izni
ADMINISTER BULK OPERATIONSşu anda Linux'ta desteklenmiyor.SQL Server 2019 (15.x) CU 16 ve sonraki sürümleri kullanılarak yapılan TDE ile sıkıştırılmış yedeklemeler, SQL Server 2019'un (15.x) önceki CU sürümlerine geri yüklenemez. Daha fazla bilgi için bkz. DÜZELTME: RESTORE LOG veya RESTORE DATABASEyürütülürken hata 3241 oluşuyor.
SQL Server 2019'un (15.x) önceki CU sürümleri kullanılarak yapılan Saydam Veri Şifrelemesi (TDE) ile sıkıştırılmış yedeklemeler, SQL Server 2019 (15.x) CU 16 ve sonraki sürümleri kullanılarak geri yüklenebilir.
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ğ
Bağlı sunucular, PolyBase veya kullanılabilirlik grupları gibi sqlservr işleminden giden TCP bağlantılarını içeren özellikler, aşağıdaki koşulların her ikisi de karşılandığında ç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. -
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP)çağıran bir C programı başarılı olmalıdır - sistem çağrısı birfd != -1döndürmeli veEAFNOSUPPORTile baş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, yedekteki ALTER AVAILABILITY GROUP JOIN DDL beş dakika sonra download configuration timeout hatasıyla başarısız olur.
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
Şunlar için geçerlidir: yalnızca SQL Server 2022 (16.x).
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 (önizlemede) ve RHEL 9 ü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 dosya sisteminde yalnızca
/var/opt/mssqldizinlerini bulun. 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.
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ız, dil seçiminizi belirtmek için
MSSQL_LCIDortam değişkenini kullanarak kurulumu çalıştırın.sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setupmssql-conf setupçalıştırdığınızda ve SQL Server'ın İngilizce olmayan bir yüklemesini gerçekleştirdiğinizde, "SQL Server Yapılandırıyor..." yerelleştirilmiş metinden sonra yanlış genişletilmiş karakterler görüntülenebilir. 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 dize yalnızca bilgi amaçlıdır, SQL Server'ın başarıyla yüklenmesini hiçbir şekilde etkilemez.
Full-Text Arama
Microsoft Office belgelerine yönelik filtreler de dahil olmak üzere tüm filtreler bu sürümde kullanılamaz. Desteklenen filtrelerin listesi için bkz. SQL Server Yükleme Full-Text Linux'ta Arama.
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 desteklenir.
Integration Services paketleri Linux'ta ODBC bağlantılarını kullanabilir. Bu işlev SQL Server ve MySQL ODBC sürücüleriyle test edilmiştir, ancak ODBC belirtimini gözlemleyen herhangi bir Unicode ODBC sürücüsüyle de çalışması beklenir. Tasarım zamanında, ODBC verilerine bağlanmak için bir DSN veya bağlantı dizesi sağlayabilirsiniz; Windows kimlik doğrulamayı da kullanabilirsiniz. Daha fazla bilgi için Linux 'da ODBC desteği duyurusununblog gönderisine bakın.
Linux üzerinde SSIS paketleri çalıştırdığınızda bu sürümde aşağıdaki özellikler desteklenmez:
- Integration Services Katalogu veritabanı
- SQL Server Aracısı tarafından zamanlanmış paket yürütmesi
- 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ı
Şu anda desteklenmeyen veya sınırlamalarla desteklenen yerleşik SSIS bileşenlerinin listesi için bkz. linux SSIS için sınırlamalar ve bilinen sorunlar.
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 üzerinde 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'a bağlı Windows üzerinde SQL Server Management Studio için geçerlidir.
Bakım planları desteklenmez.
Yönetim Veri Ambarı (MDW) ve SQL Server Management Studio'daki 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.
Tutulacak günlük dosyalarının sayısı değiştirilemez.
Yüksek kullanılabilirlik ve olağanüstü durum kurtarma
Şunlar için geçerlidir: yalnızca SQL Server 2022 (16.x).
SQL Server 2022 (16.x) CU 16 ve önceki sürümlerini, RHEL 9'da SELinux etkinleştirilmiş sınırlı bir uygulama olarak çalıştırdığınızda Pacemaker kümelemesi beklendiği gibi çalışmayabilir. Pacemaker kümeleme özelliklerinden yararlanmak için SQL Server 2022'yi (16.x) SELinux etkin olacak şekilde, sınırsız bir uygulama olarak yüklemeniz gerekir. Bu sorun SQL Server 2022 (16.x) CU 17'de giderilmiştir.
Makine Öğrenmesi Hizmetleri
Şunlar için geçerlidir: yalnızca SQL Server 2022 (16.x).
RHEL 9 ve Ubuntu 22.04 için SQL Server 2022 (16.x) paketleri için, Machine Learning Services'i yüklemeden önce cgroup-v1dikkate alınması gereken bazı önkoşullar vardır.
Ön koşul olarak, Red Hat Enterprise Linux 9'da cgroupfs kullanarak cgroups'u el ile yönetme talimatlarına () göre
cgroup-v1'ın etkinleştirilmesi gerekmektedir (, Red Hat'ten).Ardından yönergeleri izleyerek SQL Machine Learning Services 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, hibrit CPU mimarisine sahip makinelerde başlatılamıyor
Sorun: 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ılamıyor olabilir.
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. Kapsayıcılar veya Windows'da Hyper-V gibi bir hiper yönetici (WSL dahil) kullanıyorsanız, bu durumdan etkilenmezsiniz.
Linux işletim sistemlerinde desteklenmeyen yerel ONNX modelleri
DOĞRUDAN SQL Server'da 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 üzerinde SQL Server 2022 için Sürüm notları
- Linux üzerinde SQL Server 2022'nin Sürümleri ve desteklenen özellikleri
- Linux'ta SQL Server sorunlarını giderin