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:Linux üzerinde SQL Server
Linux için Windows Alt Sistemi (WSL), Windows'ta sanal makineye veya çift önyüklemeye gerek kalmadan doğrudan Windows makinenizde Linux ortamı çalıştırmanıza olanak tanıyan bir özelliktir. WSL, hem Windows hem de Linux'u aynı anda kullanmak isteyen geliştiriciler için sorunsuz ve üretken bir deneyim sağlar. Daha fazla bilgi için bkz. Linux için Windows Alt Sistemi nedir?
WSL üzerinde SQL Server yalnızca geliştirme amaçlıdır
WSL 2'de SQL Server yalnızca geliştirme amaçlıdır ve üretim iş yükleri için desteklenmez. Çalıştırmak istediğiniz SQL Server sürümü için belgelenmiş olması gerektiği gibi, SQL Server'ı desteklenen platformlardan biri üzerinde WSL ortamlarında çalıştırmanızı öneririz.
Destekle ilgili tüm sorunlar için Microsoft'den destek alabilirsiniz.
WSL 2'de SQL Server'ı kullanmaya başlama
WSL 2'de SQL Server'ı kullanmaya başlamanın iki yolu vardır:
SQL Server'ı
systemdkomutları kullanılarak yönetilebilen birsystemctlhizmeti olarak yükleyin. WSL'desystemdetkinleştirdiğinizden emin olun. Daha fazla bilgi için bkz. Systemd'i etkinleştirme hakkında.WSL'de SQL Server kapsayıcılarını dağıtma. Bu seçenek için, WSL'de Docker veya Podman gibi bir Linux kapsayıcı altyapısı yüklemeniz ve ardından SQL Server kapsayıcılarını dağıtmanız gerekir.
Önkoşullar
WSL 2'yi yükleyin. Windows 10 sürüm 2004 veya sonraki bir sürümü (Derleme 19041 ve üzeri) veya Windows 11'i çalıştırdığınızdan emin olun. WSL'yi yüklemek için yönetici modunda bir PowerShell veya Windows komut istemi açın ve sonraki bölümdeki yönergeleri izleyin.
Ayrıntılı yönergeler için bkz. WSL ile Windows'ta Linux yükleme. Geliştirme için WSL ortamını ayarlama hakkında bilgi için bkz. WSL geliştirme ortamı ayarlama.
WSL'de SQL Server'ı yükleme
Bu bölümde, WSL'de Linux dağıtımı ayarlama adımları ve bu Linux dağıtımında SQL Server'ın nasıl yükleneceği açıklanmaktadır.
Linux dağıtımı'nı seçin
Aşağıdaki komutu kullanarak WSL'ye yüklenebilen tüm geçerli dağıtımları listeleyebilirsiniz:
wsl -l -o
Çıktı aşağıdaki örneğe benzer şekilde görünür.
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install <Distro>'.
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
Ubuntu-24.04 Ubuntu 24.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.6 openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed openSUSE Tumbleweed
Bu hızlı başlangıç için Ubuntu 22.04'ü yükleyin ve ardından SQL Server 2022'yi bu dağıtıma yükleyin.
Ubuntu 22.04'ü yüklemek için aşağıdaki komutu çalıştırın. UNIX kullanıcı hesabını ve parolasını not edin. Bu örnekte kullanıcı adı olarak wsluser kullanın.
wsl --install -d Ubuntu-22.04
Aşağıdaki örneğe benzer bir çıktı görmeniz gerekir. Sonunda, Ubuntu 22.04 bash kabuğunda oturum açtığınızı göstermelidir.
Installing: Ubuntu 22.04 LTS
Ubuntu 22.04 LTS has been installed.
Launching Ubuntu 22.04 LTS...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: wsluser
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Tue Dec 3 00:32:14 IST 2024
System load: 0.33 Processes: 32
Usage of /: 0.1% of 1006.85GB Users logged in: 0
Memory usage: 2% IPv4 address for eth0: 10.18.123.249
Swap usage: 0%
This message is shown once a day. To disable it please create the
/home/wsluser/.hushlogin file.
SQL Server'ı yükleme
Ubuntu 22.04 bash kabuğunda oturum açtıktan sonra, Hızlı Başlangıç: SQL Server'ı yükleme ve SQL Server 2022'yi yüklemek için Ubuntu'da veritabanı oluşturma makalesinde açıklanan adımları izleyebilirsiniz.
SQL Server komut satırı araçlarını da yüklemeniz gerekir.
IP adresini alma
SQL Server Management Studio (SSMS) kullanarak bağlanılacak IP adresini tanımlamak için ifconfig komutunu aşağıdaki gibi çalıştırın:
ifconfig
Aşağıdaki örneğe benzer bir çıktı görmeniz gerekir.
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.19.50.241 netmask 255.255.240.0 broadcast 10.19.63.255
inet6 fe80::215:5dff:fe76:c05d prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:76:c0:5d txqueuelen 1000 (Ethernet)
RX packets 2146 bytes 1452448 (1.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1905 bytes 345288 (345.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2039 bytes 4144340 (4.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2039 bytes 4144340 (4.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
WSL'de SQL Server kapsayıcılarını dağıtma
WSL'de kapsayıcıları dağıtmak için öncelikle Docker gibi bir Linux kapsayıcı altyapısı yüklemeniz gerekir. Daha fazla bilgi için bkz. WSL'de Docker uzak kapsayıcılarını kullanmaya başlama . Docker altyapısını yükledikten sonra SQL Server kapsayıcı görüntüsünü aşağıdaki gibi dağıtın.
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
-e "MSSQL_PID=Developer" -e "MSSQL_AGENT_ENABLED=true" \
-p 14333:1433 --name sqlcontainerwsl --hostname sqlcontainerwsl \
-d mcr.microsoft.com/mssql/server:2022-latest
SQL Server 2025 (17.x) veya sonraki bir sürüm için kapsayıcı dağıttığınızda, Standart Geliştirici sürümü için MSSQL_PID=DeveloperStandard ve Enterprise Developer sürümü için MSSQL_PID=Developer kullanın.
Not
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.
SQL Server kapsayıcıları için WSL ile kalıcı depolama ekleme
Bir konak dizininiveri birimi olarak bağlama bölümünde açıklandığı gibi veri birimleri oluşturabilirsiniz.
Örneğin, sql_volumekonumunda bulunan /var/opt/mssql/ adlı bir birim ayarlamak için aşağıdaki komutu çalıştırın.
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
-e "MSSQL_PID=Developer" -e "MSSQL_AGENT_ENABLED=true" \
-p 14333:1433 --name sqlcontainerwsl --hostname sqlcontainerwsl \
-v sql_volume:/var/opt/mssql/ \
-d mcr.microsoft.com/mssql/server:2022-latest
SQL Server 2025 (17.x) veya sonraki bir sürüm için kapsayıcı dağıttığınızda, Standart Geliştirici sürümü için MSSQL_PID=DeveloperStandard ve Enterprise Developer sürümü için MSSQL_PID=Developer kullanın.
wsl --terminate komutunu çalıştırsanız bile veriler kaybolmaz. WSL'yi yeniden başlattığınızda ve docker run birimini kullanarak dağıtmak için sql_volume komutunu çalıştırdığınızda, tüm veriler korunur.
Kalıcı birimi silmek istiyorsanız, birimi kullanan kapsayıcının durdurulup kaldırıldığından emin olun ve aşağıdaki komutu çalıştırın.
docker volume rm sql_volume
Açıklamalar
Kümeleme yığınlarına bağımlı iş sürekliliği özellikleri dışında geliştirme amacıyla Linux üzerinde SQL Server için desteklenen özelliklerin çoğunu yapılandırabilmeniz gerekir. Pacemaker veya HPE Serviceguard gibi bu özellikler WSL'de desteklenmez.
Linux üzerinde SQL Server için desteklenmeyen özelliklerin tam listesi için bkz. linux üzerinde SQL Server 2022'ninSürümleri ve desteklenen özellikleri.
Yerel olarak bağlan
Aşağıdaki adımlarda, yeni SQL Server örneğine yerel olarak bağlanmak için sqlcmd kullanılır.
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.
SQL Server adınız (), kullanıcı adı (
-S) ve parolanız (-U) için parametrelerle sqlcmd-Pçalıştırın. Bu öğreticide, yerel olarak bağlandığınız için sunucu adılocalhost'dır. Kullanıcı adısave parola, kurulum sırasındasahesabı için sağladığınız addır.sqlcmd -S localhost -U sa -P '<password>'Not
Daha yeni sqlcmd sürümleri varsayılan olarak güvenlidir. Bağlantı şifrelemesi hakkında daha fazla bilgi için bkz. Windows için sqlcmd yardımcı programı ve Linux ve macOS için sqlcmd ile bağlanma. Bağlantı başarılı olmazsa, şifrelemenin zorunlu değil isteğe bağlı olduğunu belirtmek üzere sqlcmd
-Noiçin seçeneğini ekleyebilirsiniz.Girmeniz istenecek komut satırında parolayı atlayabilirsiniz.
Daha sonra uzaktan bağlanmaya karar verirseniz,
-Sparametresi için makine adını veya IP adresini belirtin ve güvenlik duvarınızda 1433 numaralı bağlantı noktasının açık olduğundan emin olun.Başarılı olursa, sqlcmd komut istemine ulaşmalısınız:
1>.Bağlantı hatası alırsanız, önce hata iletisinden sorunu tanılamayı deneyin. Ardından bağlantı sorunlarını giderme önerilerinigözden geçirin.
Veri oluşturma ve sorgulama
Aşağıdaki bölümlerde yeni bir veritabanı oluşturmak, veri eklemek ve basit bir sorgu çalıştırmak için sqlcmd kullanmanıza yol gösterilir.
Transact-SQL deyimleri ve sorguları yazma hakkında daha fazla bilgi için Kılavuzuna bakın:Transact-SQL deyimlerini yazma.
Yeni veritabanı oluşturma
Aşağıdaki adımlar TestDBadlı yeni bir veritabanı oluşturur.
sqlcmd komut isteminden aşağıdaki Transact-SQL komutunu yapıştırarak bir test veritabanı oluşturun:
CREATE DATABASE TestDB;Sonraki satırda, sunucunuzdaki tüm veritabanlarının adını döndürmek için bir sorgu yazın:
SELECT Name FROM sys.databases;Önceki iki komut hemen yürütülemez. Önceki komutları yürütmek için yeni bir satıra
GOyazmanız gerekir:GO
Veri ekleme
Ardından dbo.Inventoryyeni bir tablo oluşturun ve iki yeni satır ekleyin.
sqlcmd komut isteminden bağlamı yeni
TestDBveritabanına geçin:USE TestDB;dbo.Inventoryadlı yeni bir tablo oluşturun:CREATE TABLE dbo.Inventory ( id INT, name NVARCHAR (50), quantity INT, PRIMARY KEY (id) );Yeni tabloya veri ekleme:
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150); INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);Önceki komutları yürütmek için
GOyazın:GO
Veri seçme
Şimdi dbo.Inventory tablosundan veri döndürmek için bir sorgu çalıştırın.
sqlcmd komut isteminde,
dbo.Inventorytablosundan miktarın 152'den büyük olduğu satırları döndüren bir sorgu girin:SELECT * FROM dbo.Inventory WHERE quantity > 152;Komutunu yürüt:
GO
sqlcmd komut isteminden çıkma
sqlcmd oturumunuzu sonlandırmak için QUITyazın:
QUIT
Performans için en iyi yöntemler
Sql Server'ı Linux'a yükledikten sonra, üretim senaryolarında performansı artırmak için Linux ve SQL Server'ı yapılandırmaya yönelik en iyi yöntemleri gözden geçirin. Daha fazla bilgi için bkz. SQL Server'ın Linux üzerindeki performans en iyi yöntemleri ve yapılandırma yönergeleri.
Platformlar arası veri araçları
sqlcmd ek olarak, SQL Server'ı yönetmek için aşağıdaki platformlar arası araçları kullanabilirsiniz:
| Araç | Açıklama |
|---|---|
| Visual Studio Code | MSSQL uzantısıyla Transact-SQL deyimleri çalıştıran platformlar arası GUI kod düzenleyicisi. |
| PowerShell | Cmdlet'leri temel alan platformlar arası otomasyon ve yapılandırma aracı. |
| mssql-cli | Transact-SQL komutlarını çalıştırmak için platformlar arası bir komut satırı arabirimi. |
Windows'tan bağlanma
Windows'daki SQL Server araçları, Linux üzerindeki SQL Server örneklerine, herhangi bir uzak SQL Server örneğine bağlandıkları şekilde bağlanır.
Linux makinenize bağlanabilen bir Windows makineniz varsa, sqlcmd çalıştıran bir Windows komut isteminden bu makaledeki adımların aynısını deneyin.
localhostyerine hedef Linux makine adını veya IP adresini kullanmanız ve SQL Server makinesinde 1433 numaralı TCP bağlantı noktasının açık olduğundan emin olmanız gerekir. Windows'tan bağlanırken sorun yaşıyorsanız bkz. bağlantı sorunlarını giderme önerileri.
Windows üzerinde çalışan ancak Linux üzerinde SQL Server'a bağlanan diğer araçlar için bkz:
- SQL Server Management Studio (SSMS)
- Windows PowerShell
- SQL Server Veri Araçları (SSDT)
Diğer dağıtım senaryoları
Diğer yükleme senaryoları için aşağıdaki kaynaklara bakın:
- Yükseltme: Linux'ta sql server'ın mevcut yüklemesini yükseltmeyi öğrenin
- Kaldırma: Linux'ta SQL Server'ı kaldırma
- Katılımsız yükleme : Yüklemeyi istemler olmadan nasıl betikleyeceğinizi öğrenin
- çevrimdışı yükleme : Çevrimdışı yükleme için paketleri el ile indirmeyi öğrenin
Sıkça Sorulan Soruların yanıtları için bkz. Linux'ta SQL Server SSS.
İlgili içerik
- Yedekleme ve geri yükleme kullanarak SQL Server veritabanını Windows'tan Linux'a geçirme
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.