Aracılığıyla paylaş


Hızlı Başlangıç: SQL Server'ı yükleme ve Linux için Windows Alt Sistemi'nde veritabanı oluşturma (WSL 2)

Ş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'ı systemd komutları kullanılarak yönetilebilen bir systemctl hizmeti olarak yükleyin. WSL'de systemd etkinleş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.

  1. 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ı sa ve parola, kurulum sırasında sa hesabı 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 -No için seçeneğini ekleyebilirsiniz.

    Girmeniz istenecek komut satırında parolayı atlayabilirsiniz.

    Daha sonra uzaktan bağlanmaya karar verirseniz, -S parametresi 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.

  2. Başarılı olursa, sqlcmd komut istemine ulaşmalısınız: 1>.

  3. 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.

  1. sqlcmd komut isteminden aşağıdaki Transact-SQL komutunu yapıştırarak bir test veritabanı oluşturun:

    CREATE DATABASE TestDB;
    
  2. 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;
    
  3. Önceki iki komut hemen yürütülemez. Önceki komutları yürütmek için yeni bir satıra GO yazmanız gerekir:

    GO
    

Veri ekleme

Ardından dbo.Inventoryyeni bir tablo oluşturun ve iki yeni satır ekleyin.

  1. sqlcmd komut isteminden bağlamı yeni TestDB veritabanına geçin:

    USE TestDB;
    
  2. dbo.Inventoryadlı yeni bir tablo oluşturun:

    CREATE TABLE dbo.Inventory
    (
        id INT,
        name NVARCHAR (50),
        quantity INT,
        PRIMARY KEY (id)
    );
    
  3. Yeni tabloya veri ekleme:

    INSERT INTO dbo.Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO dbo.Inventory
    VALUES (2, 'orange', 154);
    
  4. Önceki komutları yürütmek için GO yazın:

    GO
    

Veri seçme

Şimdi dbo.Inventory tablosundan veri döndürmek için bir sorgu çalıştırın.

  1. sqlcmd komut isteminde, dbo.Inventory tablosundan miktarın 152'den büyük olduğu satırları döndüren bir sorgu girin:

    SELECT *
    FROM dbo.Inventory
    WHERE quantity > 152;
    
  2. 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:

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.

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.