Aracılığıyla paylaş


Hızlı Başlangıç: Docker ile SQL Server Linux kapsayıcı görüntülerini çalıştırma

Şunlar için geçerlidir:SQL Server - Linux

Bu hızlı başlangıçta Docker'ı kullanarak SQL Server 2017 (14.x) Linux kapsayıcı görüntüsünü ( mssql-server-linux) çekip çalıştıracaksınız. Ardından ilk veritabanınızı oluşturmak ve sorgu çalıştırmak için sqlcmd bağlanabilirsiniz.

Desteklenen platformlar hakkında daha fazla bilgi için bkz. SQL Server 2017'nin Linux üzerindeki sürüm notları .

Uyarı

Kapsayıcıyı durdurup kaldırdığınızda, kapsayıcıdaki SQL Server verileriniz kalıcı olarak silinir. Verilerinizi koruma hakkında daha fazla bilgi için kapsayıcıdan bir yedekleme dosyası oluşturun ve kopyalayın veya kapsayıcı veri kalıcılığı tekniğini kullanın.

Bu hızlı başlangıçta SQL Server 2017 (14.x) kapsayıcıları oluşturulur. SQL Server'ın farklı sürümleri için Linux kapsayıcıları oluşturmayı tercih ediyorsanız bkz:

Bu hızlı başlangıçta Docker kullanarak SQL Server 2019 (15.x) Linux kapsayıcı görüntüsünü ( mssql-server-linux) çekip çalıştıracaksınız. Ardından ilk veritabanınızı oluşturmak ve sorgu çalıştırmak için sqlcmd bağlanabilirsiniz.

Desteklenen platformlar hakkında daha fazla bilgi için bkz. Linux'ta SQL Server 2019 sürüm notları.

Uyarı

Kapsayıcıyı durdurup kaldırdığınızda, kapsayıcıdaki SQL Server verileriniz kalıcı olarak silinir. Verilerinizi koruma hakkında daha fazla bilgi için kapsayıcıdan bir yedekleme dosyası oluşturun ve kopyalayın veya kapsayıcı veri kalıcılığı tekniğini kullanın.

Bu hızlı başlangıç, SQL Server 2019 (15.x) kapsayıcılarını oluşturur. SQL Server'ın farklı sürümleri için Linux kapsayıcıları oluşturmayı tercih ediyorsanız bkz:

Bu hızlı başlangıçta Docker kullanarak SQL Server 2022 (16.x) Linux kapsayıcı görüntüsünü ( mssql-server-linux) çekip çalıştıracaksınız. Ardından ilk veritabanınızı oluşturmak ve sorgu çalıştırmak için sqlcmd bağlanabilirsiniz.

Desteklenen platformlar hakkında daha fazla bilgi için, Linux üzerinde SQL Server 2022 için sürüm notlarına bakın .

Uyarı

Kapsayıcıyı durdurup kaldırdığınızda, kapsayıcıdaki SQL Server verileriniz kalıcı olarak silinir. Verilerinizi koruma hakkında daha fazla bilgi için kapsayıcıdan bir yedekleme dosyası oluşturun ve kopyalayın veya kapsayıcı veri kalıcılığı tekniğini kullanın.

Bu hızlı başlangıçta SQL Server 2022 (16.x) kapsayıcıları oluşturulur. SQL Server'ın farklı sürümleri için Linux kapsayıcıları oluşturmayı tercih ediyorsanız bkz:

Bu hızlı başlangıçta Docker kullanarak SQL Server 2025 (17.x) Preview Linux kapsayıcı görüntüsünü ( mssql-server-linux) çekip çalıştıracaksınız. Ardından ilk veritabanınızı oluşturmak ve sorgu çalıştırmak için sqlcmd bağlanabilirsiniz.

Desteklenen platformlar hakkında daha fazla bilgi için bkz. Linux üzerinde SQL Server 2025 Preview sürüm notları.

Uyarı

Kapsayıcıyı durdurup kaldırdığınızda, kapsayıcıdaki SQL Server verileriniz kalıcı olarak silinir. Verilerinizi koruma hakkında daha fazla bilgi için kapsayıcıdan bir yedekleme dosyası oluşturun ve kopyalayın veya kapsayıcı veri kalıcılığı tekniğini kullanın.

Bu hızlı başlangıçta SQL Server 2025 (17.x) Önizleme kapsayıcıları oluşturulur. SQL Server'ın farklı sürümleri için Linux kapsayıcıları oluşturmayı tercih ediyorsanız bkz:

Bu görüntü, Ubuntu tabanlı Linux üzerinde çalışan SQL Server'lardan oluşur. Linux üzerinde Docker Engine 1.8+ ile kullanılabilir.

SQL Server 2022 (16.x) CU 14 ve SQL Server 2019 (15.x) CU 28'den başlayarak kapsayıcı görüntüleri yeni mssql-tools18 paketini içerir. Önceki dizin /opt/mssql-tools/bin aşamalı olarak kaldırılıyor. Microsoft ODBC 18 araçları için yeni dizin, en son araçlarıyla uyumlu olan /opt/mssql-tools18/bin'dir. Değişiklikler ve güvenlik geliştirmeleri hakkında daha fazla bilgi için bkz . SQL Server için ODBC Sürücüsü 18.0 Yayımlandı.

Bu makaledeki örneklerde komutu kullanılır docker . Ancak, bu komutların çoğu Podman ile de çalışır. Podman, Docker Altyapısına benzer bir komut satırı arabirimi sağlar. Podman hakkında daha fazla bilgi edinebilirsiniz.

Önemli

sqlcmd şu anda kapsayıcı oluştururken MSSQL_PID parametresini desteklemez. Bu hızlı başlangıçtaki sqlcmd yönergelerini kullanırsanız, SQL Server'ın Developer sürümüyle bir kapsayıcı oluşturursunuz. Seçtiğiniz lisansı kullanarak kapsayıcı oluşturmak için komut satırı arabirimi (CLI) yönergelerini kullanın. Daha fazla bilgi için bkz. SQL Server Linux kapsayıcılarını dağıtma ve bağlama.

Önkoşullar

  • Desteklenen herhangi bir Linux dağıtımında Docker Engine 1.8+ . Daha fazla bilgi için bkz . Docker'ı yükleme.

SQL Server Linux kapsayıcı görüntüsünü çekme ve çalıştırma

Aşağıdaki adımlara başlamadan önce, bu makalenin üst kısmında tercih ettiğiniz kabuğu (bash, PowerShell veya cmd) seçtiğinizden emin olun.

Bu makaledeki sudo bash komutları için kullanılır. Docker'ı çalıştırmak için kullanmak sudo istemiyorsanız, bir docker grup yapılandırabilir ve bu gruba kullanıcı ekleyebilirsiniz. Daha fazla bilgi için bkz . Linux için yükleme sonrası adımlar.

Kapsayıcı görüntüsünü kayıt defterinden çek.

Microsoft Container Registry'den SQL Server 2017 (14.x) Linux kapsayıcı görüntüsünü çekin.

sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
docker pull mcr.microsoft.com/mssql/server:2017-latest
docker pull mcr.microsoft.com/mssql/server:2017-latest

Bu hızlı başlangıçta SQL Server 2017 (14.x) kapsayıcıları oluşturulur. SQL Server'ın farklı sürümleri için Linux kapsayıcıları oluşturmayı tercih ediyorsanız bkz:

Önceki komut en son SQL Server 2017 (14.x) Linux kapsayıcı görüntüsünü çeker. Belirli bir görüntüyü çekmek istiyorsanız, iki nokta üst üste ve etiket adını (gibi) mcr.microsoft.com/mssql/server:2017-GA-ubuntueklersiniz. Tüm kullanılabilir görüntüleri görmek için bkz. Microsoft Artifact Registry.

Kapsayıcıyı çalıştır

Linux kapsayıcı görüntüsünü Docker ile çalıştırmak için bash kabuğundan veya yükseltilmiş PowerShell komut isteminden aşağıdaki komutu kullanabilirsiniz.

Önemli

SA_PASSWORD ortam değişkeni kullanım dışıdır. Bunun yerine MSSQL_SA_PASSWORD kullanın.

sudo docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
   -p 1433:1433 --name sql1 --hostname sql1 \
   -d \
   mcr.microsoft.com/mssql/server:2017-latest

PowerShell Core kullanıyorsanız çift tırnakları tek tırnak işaretiyle değiştirin.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2017-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2017-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. Bu parola gereksinimlerini izlemezseniz kapsayıcı SQL Server'ı ayarlayamaz ve çalışmayı durdurur. komutunu kullanarak docker logs hata günlüğünü inceleyebilirsiniz.

Varsayılan olarak, bu hızlı başlangıçta SQL Server'ın Developer sürümüyle bir kapsayıcı oluşturulur. Kapsayıcılarda üretim sürümlerini çalıştırma işlemi biraz farklıdır. Daha fazla bilgi için bkz. Üretim kapsayıcısı görüntülerini çalıştırma.

Aşağıdaki tabloda, önceki docker run örnekteki parametrelerin açıklaması verilmiştir:

Parametre Açıklama
-e "ACCEPT_EULA=Y" ACCEPT_EULAEnd-User Lisans Sözleşmesi'ni kabulünüzü onaylamak için değişkeni herhangi bir değere ayarlayın. SQL Server görüntüsü için gerekli ayar.
-e "MSSQL_SA_PASSWORD=<password>" En az sekiz karakter uzunluğunda ve Parola İlkesi'ni karşılayan kendi güçlü parolanızı belirtin. SQL Server görüntüsü için gerekli ayar.
-e "MSSQL_COLLATION=<SQL_Server_collation>" Varsayılan SQL_Latin1_General_CP1_CI_ASyerine özel bir SQL Server harmanlaması belirtin.
-p 1433:1433 Konak ortamındaki bir TCP bağlantı noktasını (ilk değer) kapsayıcıdaki bir TCP bağlantı noktasıyla (ikinci değer) eşleyin. Bu örnekte, SQL Server kapsayıcıda TCP 1433 üzerinden dinliyor ve bu kapsayıcı bağlantı noktası daha sonra konak üzerinde TCP port 1433 olarak kullanıma sunulur.
--name sql1 Rastgele oluşturulan bir ad yerine kapsayıcı için özel bir ad belirtin. Birden fazla kapsayıcı çalıştırırsanız, aynı adı yeniden kullanamazsınız.
--hostname sql1 Kapsayıcı konak adını açıkça ayarlamak için kullanılır. Konak adını belirtmezseniz, varsayılan olarak, rastgele oluşturulan bir sistem GUID'si olan kapsayıcı kimliği konak adı olarak kullanılır.
-d Kapsayıcıyı arka planda (daemon) çalıştırın.
mcr.microsoft.com/mssql/server:2017-latest SQL Server Linux kapsayıcı görüntüsü.

Kapsayıcı listesini görüntüleme

  1. Docker kapsayıcılarınızı görüntülemek için komutunu kullanın docker ps .

    sudo docker ps -a
    
    docker ps -a
    
    docker ps -a
    

    Aşağıdaki örneğe benzer bir çıktı görmeniz gerekir:

    CONTAINER ID   IMAGE                                        COMMAND                    CREATED         STATUS         PORTS                                       NAMES
    d4a1999ef83e   mcr.microsoft.com/mssql/server:2017-latest   "/opt/mssql/bin/perm..."   2 minutes ago   Up 2 minutes   0.0.0.0:1433->1433/tcp, :::1433->1433/tcp   sql1
    
  2. STATUS sütununda Updurumu gösteriliyorsa, SQL Server kapsayıcıda çalışır ve PORTS sütununda belirtilen bağlantı noktasını dinler. SQL Server kapsayıcınızın STATUS sütunu Exitedgösteriyorsa bkz. SQL Server Docker kapsayıcılarının sorunlarını giderme. SQL Server hata günlükleri şu iletiyi görüntüledikten sonra sunucu bağlantılara hazır olur: SQL Server is now ready for client connections. This is an informational message; no user action is required. Komutunu kullanarak kapsayıcının içindeki SQL Server hata günlüğünü gözden geçirebilirsiniz:

    sudo docker exec -t sql1 cat /var/opt/mssql/log/errorlog | grep connection
    

    --hostname parametresi, daha önce açıklandığı gibi kapsayıcının iç adını özel bir değerle değiştirir. Bu değer, aşağıdaki Transact-SQL sorgusunda döndürülen addır:

    SELECT @@SERVERNAME,
           SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
           SERVERPROPERTY('MachineName'),
           SERVERPROPERTY('ServerName');
    

    --hostname Ve --name değerini aynı değere ayarlamak, hedef kapsayıcıyı kolayca tanımlamanın iyi bir yoludur.

  3. Son adım olarak, SA parolanızı üretim ortamında değiştirin çünkü MSSQL_SA_PASSWORD çıktıda ps -eax görünür ve aynı ada sahip ortam değişkeninde depolanır.

SQL Server Linux kapsayıcı görüntüsünü çekme ve çalıştırma

Aşağıdaki adımlara başlamadan önce, bu makalenin üst kısmında tercih ettiğiniz kabuğu (bash, PowerShell veya cmd) seçtiğinizden emin olun.

Bu makaledeki sudo bash komutları için kullanılır. Docker'ı çalıştırmak için kullanmak sudo istemiyorsanız, bir docker grup yapılandırabilir ve bu gruba kullanıcı ekleyebilirsiniz. Daha fazla bilgi için bkz . Linux için yükleme sonrası adımlar.

Kapsayıcıyı kayıt defterinden çekme

Microsoft Container Registry'den SQL Server 2019 (15.x) Linux kapsayıcı görüntüsünü çekin.

docker pull mcr.microsoft.com/mssql/server:2019-latest
docker pull mcr.microsoft.com/mssql/server:2019-latest
docker pull mcr.microsoft.com/mssql/server:2019-latest

Bu hızlı başlangıç, SQL Server 2019 (15.x) kapsayıcılarını oluşturur. SQL Server'ın farklı sürümleri için Linux kapsayıcıları oluşturmayı tercih ediyorsanız bkz:

Önceki komut en son SQL Server 2019 (15.x) Linux kapsayıcı görüntüsünü çeker. Belirli bir görüntüyü çekmek istiyorsanız, iki nokta üst üste ve etiket adını (gibi) mcr.microsoft.com/mssql/server:2019-GA-ubuntueklersiniz. Tüm kullanılabilir görüntüleri görmek için bkz. Microsoft Artifact Registry.

Kapsayıcıyı çalıştır

Linux kapsayıcı görüntüsünü Docker ile çalıştırmak için bash kabuğundan veya yükseltilmiş PowerShell komut isteminden aşağıdaki komutu kullanabilirsiniz.

Önemli

SA_PASSWORD ortam değişkeni kullanım dışıdır. Bunun yerine MSSQL_SA_PASSWORD kullanın.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
   -p 1433:1433 --name sql1 --hostname sql1 \
   -d \
   mcr.microsoft.com/mssql/server:2019-latest

PowerShell Core kullanıyorsanız çift tırnakları tek tırnak işaretiyle değiştirin.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2019-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.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2019-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. Bu parola gereksinimlerini izlemezseniz kapsayıcı SQL Server'ı ayarlayamaz ve çalışmayı durdurur. komutunu kullanarak docker logs hata günlüğünü inceleyebilirsiniz.

Varsayılan olarak, bu hızlı başlangıçta SQL Server'ın Developer sürümüyle bir kapsayıcı oluşturulur. Kapsayıcılarda üretim sürümlerini çalıştırma işlemi biraz farklıdır. Daha fazla bilgi için bkz. Üretim kapsayıcısı görüntülerini çalıştırma.

Aşağıdaki tabloda, önceki docker run örnekteki parametrelerin açıklaması verilmiştir:

Parametre Açıklama
-e "ACCEPT_EULA=Y" ACCEPT_EULAEnd-User Lisans Sözleşmesi'ni kabulünüzü onaylamak için değişkeni herhangi bir değere ayarlayın. SQL Server görüntüsü için gerekli ayar.
-e "MSSQL_SA_PASSWORD=<password>" En az sekiz karakter uzunluğunda ve Parola İlkesi'ni karşılayan kendi güçlü parolanızı belirtin. SQL Server görüntüsü için gerekli ayar.
-e "MSSQL_COLLATION=<SQL_Server_collation>" Varsayılan SQL_Latin1_General_CP1_CI_ASyerine özel bir SQL Server harmanlaması belirtin.
-p 1433:1433 Konak ortamındaki bir TCP bağlantı noktasını (ilk değer) kapsayıcıdaki bir TCP bağlantı noktasıyla (ikinci değer) eşleyin. Bu örnekte, SQL Server kapsayıcıda TCP 1433 üzerinden dinliyor ve bu kapsayıcı bağlantı noktası daha sonra konak üzerinde TCP port 1433 olarak kullanıma sunulur.
--name sql1 Rastgele oluşturulan bir ad yerine kapsayıcı için özel bir ad belirtin. Birden fazla kapsayıcı çalıştırırsanız, aynı adı yeniden kullanamazsınız.
--hostname sql1 Kapsayıcı konak adını açıkça ayarlamak için kullanılır. Konak adını belirtmezseniz, varsayılan olarak, rastgele oluşturulan bir sistem GUID'si olan kapsayıcı kimliği konak adı olarak kullanılır.
-d Kapsayıcıyı arka planda (daemon) çalıştırın.
mcr.microsoft.com/mssql/server:2019-latest SQL Server Linux kapsayıcı görüntüsü.

Kapsayıcı listesini görüntüleme

  1. Docker kapsayıcılarınızı görüntülemek için komutunu kullanın docker ps .

    docker ps -a
    
    docker ps -a
    
    docker ps -a
    

    Aşağıdaki örneğe benzer bir çıktı görmeniz gerekir:

    CONTAINER ID   IMAGE                                        COMMAND                    CREATED         STATUS         PORTS                                       NAMES
    d4a1999ef83e   mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/perm..."   2 minutes ago   Up 2 minutes   0.0.0.0:1433->1433/tcp, :::1433->1433/tcp   sql1
    
  2. STATUS sütununda Updurumu gösteriliyorsa, SQL Server kapsayıcıda çalışır ve PORTS sütununda belirtilen bağlantı noktasını dinler. SQL Server kapsayıcınızın STATUS sütunu Exitedgösteriyorsa bkz. SQL Server Docker kapsayıcılarının sorunlarını giderme. SQL Server hata günlükleri şu iletiyi görüntüledikten sonra sunucu bağlantılara hazır olur: SQL Server is now ready for client connections. This is an informational message; no user action is required. Komutunu kullanarak kapsayıcının içindeki SQL Server hata günlüğünü gözden geçirebilirsiniz:

    docker exec -t sql1 cat /var/opt/mssql/log/errorlog | grep connection
    

    --hostname parametresi, daha önce açıklandığı gibi kapsayıcının iç adını özel bir değerle değiştirir. Bu değer, aşağıdaki Transact-SQL sorgusunda döndürülen addır:

    SELECT @@SERVERNAME,
           SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
           SERVERPROPERTY('MachineName'),
           SERVERPROPERTY('ServerName');
    

    --hostname Ve --name değerini aynı değere ayarlamak, hedef kapsayıcıyı kolayca tanımlamanın iyi bir yoludur.

  3. Son adım olarak, SA parolanızı üretim ortamında değiştirin çünkü MSSQL_SA_PASSWORD çıktıda ps -eax görünür ve aynı ada sahip ortam değişkeninde depolanır.

SQL Server Linux kapsayıcı görüntüsünü çekme ve çalıştırma

Aşağıdaki adımlara başlamadan önce, bu makalenin üst kısmında tercih ettiğiniz kabuğu (bash, PowerShell veya cmd) seçtiğinizden emin olun.

Bu makaledeki sudo bash komutları için kullanılır. Docker'ı çalıştırmak için kullanmak sudo istemiyorsanız, bir docker grup yapılandırabilir ve bu gruba kullanıcı ekleyebilirsiniz. Daha fazla bilgi için bkz . Linux için yükleme sonrası adımlar.

Kapsayıcı görüntüsünü kayıt defterinden çek.

MICROSOFT Container Registry'den SQL Server 2022 (16.x) Linux kapsayıcı görüntüsünü çekin.

docker pull mcr.microsoft.com/mssql/server:2022-latest
docker pull mcr.microsoft.com/mssql/server:2022-latest
docker pull mcr.microsoft.com/mssql/server:2022-latest

Bu hızlı başlangıçta SQL Server 2022 (16.x) kapsayıcıları oluşturulur. SQL Server'ın farklı sürümleri için Linux kapsayıcıları oluşturmayı tercih ediyorsanız bkz:

Önceki komut en son SQL Server 2022 (16.x) Linux kapsayıcı görüntüsünü çeker. Belirli bir görüntüyü çekmek istiyorsanız, iki nokta üst üste ve etiket adını (gibi) mcr.microsoft.com/mssql/server:2022-GA-ubuntueklersiniz. Tüm kullanılabilir görüntüleri görmek için bkz. Microsoft Artifact Registry.

Kapsayıcıyı çalıştır

Linux kapsayıcı görüntüsünü Docker ile çalıştırmak için bash kabuğundan veya yükseltilmiş PowerShell komut isteminden aşağıdaki komutu kullanabilirsiniz.

Önemli

SA_PASSWORD ortam değişkeni kullanım dışıdır. Bunun yerine MSSQL_SA_PASSWORD kullanın.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
   -p 1433:1433 --name sql1 --hostname sql1 \
   -d \
   mcr.microsoft.com/mssql/server:2022-latest

PowerShell Core kullanıyorsanız çift tırnakları tek tırnak işaretiyle değiştirin.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2022-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2022-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. Bu parola gereksinimlerini izlemezseniz kapsayıcı SQL Server'ı ayarlayamaz ve çalışmayı durdurur. komutunu kullanarak docker logs hata günlüğünü inceleyebilirsiniz.

Varsayılan olarak, bu hızlı başlangıçta SQL Server'ın Developer sürümüyle bir kapsayıcı oluşturulur. Kapsayıcılarda üretim sürümlerini çalıştırma işlemi biraz farklıdır. Daha fazla bilgi için bkz. Üretim kapsayıcısı görüntülerini çalıştırma.

Aşağıdaki tabloda, önceki docker run örnekteki parametrelerin açıklaması verilmiştir:

Parametre Açıklama
-e "ACCEPT_EULA=Y" ACCEPT_EULAEnd-User Lisans Sözleşmesi'ni kabulünüzü onaylamak için değişkeni herhangi bir değere ayarlayın. SQL Server görüntüsü için gerekli ayar.
-e "MSSQL_SA_PASSWORD=<password>" En az sekiz karakter uzunluğunda ve Parola İlkesi'ni karşılayan kendi güçlü parolanızı belirtin. SQL Server görüntüsü için gerekli ayar.
-e "MSSQL_COLLATION=<SQL_Server_collation>" Varsayılan SQL_Latin1_General_CP1_CI_ASyerine özel bir SQL Server harmanlaması belirtin.
-p 1433:1433 Konak ortamındaki bir TCP bağlantı noktasını (ilk değer) kapsayıcıdaki bir TCP bağlantı noktasıyla (ikinci değer) eşleyin. Bu örnekte, SQL Server kapsayıcıda TCP 1433 üzerinden dinliyor ve bu kapsayıcı bağlantı noktası daha sonra konak üzerinde TCP port 1433 olarak kullanıma sunulur.
--name sql1 Rastgele oluşturulan bir ad yerine kapsayıcı için özel bir ad belirtin. Birden fazla kapsayıcı çalıştırırsanız, aynı adı yeniden kullanamazsınız.
--hostname sql1 Kapsayıcı konak adını açıkça ayarlamak için kullanılır. Konak adını belirtmezseniz, varsayılan olarak, rastgele oluşturulan bir sistem GUID'si olan kapsayıcı kimliği konak adı olarak kullanılır.
-d Kapsayıcıyı arka planda (daemon) çalıştırın.
mcr.microsoft.com/mssql/server:2022-latest SQL Server Linux kapsayıcı görüntüsü.

Sistem yöneticisi parolasını değiştirme

Sistem yöneticisi (sa) hesabı, kurulum sırasında oluşturulan SQL Server örneğinde bir sistem yöneticisidir. SQL Server kapsayıcınızı oluşturduktan sonra, belirttiğiniz MSSQL_SA_PASSWORD ortam değişkeni kapsayıcıda echo $MSSQL_SA_PASSWORD çalıştırılarak bulunabilir. Güvenlik amacıyla, bir üretim ortamında parolanızı sa değiştirmeniz gerekir.

  1. sa hesabı için kullanılacak güçlü bir parola seçin. 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.

  2. Transact-SQL kullanarak parolayı değiştirmek için sqlcmd'yidocker execiçin kullanın. Aşağıdaki örnekte, eski ve yeni parolalar kullanıcı girişinden okunur.

    docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd \
    -S localhost -U sa \
     -P "$(read -sp "Enter current SA password: "; echo "${REPLY}")" \
     -Q "ALTER LOGIN sa WITH PASSWORD=\"$(read -sp "Enter new SA password: "; echo "${REPLY}")\""
    
    docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd `
       -S localhost -U sa -P "<password>" `
       -Q "ALTER LOGIN sa WITH PASSWORD='<new-password>'"
    
    docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd `
       -S localhost -U sa -P "<password>" `
       -Q "ALTER LOGIN sa WITH PASSWORD='<new-password>'"
    

    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.

    Sqlcmd'nin son 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.

En iyi yöntem olarak SA hesabını devre dışı bırakma

Önemli

Sonraki adımlar için bu kimlik bilgilerine ihtiyacınız olacaktır. Buraya girdiğiniz kullanıcı kimliğini ve parolayı not edin.

Yüklemeden sonra ilk kez sistem yöneticisi (sa) hesabını kullanarak SQL Server örneğine bağlandığınızda, bu adımları izlemeniz ve ardından en iyi güvenlik uygulaması olarak sa hesabını hemen devre dışı bırakmanız önemlidir.

  1. Yeni bir kullanıcı adı oluşturun ve bunu sysadmin sunucu rolünün bir üyesi yapın.

  2. Oluşturduğunuz yeni oturum açma bilgilerini kullanarak SQL Server örneğine bağlanın.

  3. En iyi güvenlik uygulaması için önerilen sa hesabını devre dışı bırakın.

Kapsayıcı listesini görüntüleme

  1. Docker kapsayıcılarınızı görüntülemek için komutunu kullanın docker ps .

    docker ps -a
    
    docker ps -a
    
    docker ps -a
    

    Aşağıdaki örneğe benzer bir çıktı görmeniz gerekir:

    CONTAINER ID   IMAGE                                        COMMAND                    CREATED         STATUS         PORTS                                       NAMES
    d4a1999ef83e   mcr.microsoft.com/mssql/server:2022-latest   "/opt/mssql/bin/perm..."   2 minutes ago   Up 2 minutes   0.0.0.0:1433->1433/tcp, :::1433->1433/tcp   sql1
    
  2. STATUS sütununda Updurumu gösteriliyorsa, SQL Server kapsayıcıda çalışır ve PORTS sütununda belirtilen bağlantı noktasını dinler. SQL Server kapsayıcınızın STATUS sütunu Exitedgösteriyorsa bkz. SQL Server Docker kapsayıcılarının sorunlarını giderme. SQL Server hata günlükleri şu iletiyi görüntüledikten sonra sunucu bağlantılara hazır olur: SQL Server is now ready for client connections. This is an informational message; no user action is required. Komutunu kullanarak kapsayıcının içindeki SQL Server hata günlüğünü gözden geçirebilirsiniz:

    docker exec -t sql1 cat /var/opt/mssql/log/errorlog | grep connection
    

    --hostname parametresi, daha önce açıklandığı gibi kapsayıcının iç adını özel bir değerle değiştirir. Bu değer, aşağıdaki Transact-SQL sorgusunda döndürülen addır:

    SELECT @@SERVERNAME,
           SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
           SERVERPROPERTY('MachineName'),
           SERVERPROPERTY('ServerName');
    

    --hostname Ve --name değerini aynı değere ayarlamak, hedef kapsayıcıyı kolayca tanımlamanın iyi bir yoludur.

SQL Server Linux kapsayıcı görüntüsünü çekme ve çalıştırma

Aşağıdaki adımlara başlamadan önce, bu makalenin üst kısmında tercih ettiğiniz kabuğu (bash, PowerShell veya cmd) seçtiğinizden emin olun.

Bu makaledeki sudo bash komutları için kullanılır. Docker'ı çalıştırmak için kullanmak sudo istemiyorsanız, bir docker grup yapılandırabilir ve bu gruba kullanıcı ekleyebilirsiniz. Daha fazla bilgi için bkz . Linux için yükleme sonrası adımlar.

Kapsayıcı görüntüsünü kayıt defterinden çek.

Microsoft Container Registry'den SQL Server 2025 (17.x) Preview Linux kapsayıcı görüntüsünü çekin.

docker pull mcr.microsoft.com/mssql/server:2025-latest
docker pull mcr.microsoft.com/mssql/server:2025-latest
docker pull mcr.microsoft.com/mssql/server:2025-latest

Bu hızlı başlangıçta SQL Server 2025 (17.x) Önizleme kapsayıcıları oluşturulur. SQL Server'ın farklı sürümleri için Linux kapsayıcıları oluşturmayı tercih ediyorsanız bkz:

Önceki komut en son SQL Server 2025 (17.x) Preview Linux kapsayıcı görüntüsünü çeker. Belirli bir görüntüyü çekmek istiyorsanız, iki nokta üst üste ve etiket adını (gibi) mcr.microsoft.com/mssql/server:2025-GA-ubuntueklersiniz. Tüm kullanılabilir görüntüleri görmek için bkz. Microsoft Artifact Registry.

Kapsayıcıyı çalıştır

Linux kapsayıcı görüntüsünü Docker ile çalıştırmak için bash kabuğundan veya yükseltilmiş PowerShell komut isteminden aşağıdaki komutu kullanabilirsiniz.

Önemli

SA_PASSWORD ortam değişkeni kullanım dışıdır. Bunun yerine MSSQL_SA_PASSWORD kullanın.

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

PowerShell Core kullanıyorsanız çift tırnakları tek tırnak işaretiyle değiştirin.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2025-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -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. Bu parola gereksinimlerini izlemezseniz kapsayıcı SQL Server'ı ayarlayamaz ve çalışmayı durdurur. komutunu kullanarak docker logs hata günlüğünü inceleyebilirsiniz.

Varsayılan olarak, bu hızlı başlangıçta SQL Server'ın Developer sürümüyle bir kapsayıcı oluşturulur. Kapsayıcılarda üretim sürümlerini çalıştırma işlemi biraz farklıdır. Daha fazla bilgi için bkz. Üretim kapsayıcısı görüntülerini çalıştırma.

Aşağıdaki tabloda, önceki docker run örnekteki parametrelerin açıklaması verilmiştir:

Parametre Açıklama
-e "ACCEPT_EULA=Y" ACCEPT_EULAEnd-User Lisans Sözleşmesi'ni kabulünüzü onaylamak için değişkeni herhangi bir değere ayarlayın. SQL Server görüntüsü için gerekli ayar.
-e "MSSQL_SA_PASSWORD=<password>" En az sekiz karakter uzunluğunda ve Parola İlkesi'ni karşılayan kendi güçlü parolanızı belirtin. SQL Server görüntüsü için gerekli ayar.
-e "MSSQL_COLLATION=<SQL_Server_collation>" Varsayılan SQL_Latin1_General_CP1_CI_ASyerine özel bir SQL Server harmanlaması belirtin.
-p 1433:1433 Konak ortamındaki bir TCP bağlantı noktasını (ilk değer) kapsayıcıdaki bir TCP bağlantı noktasıyla (ikinci değer) eşleyin. Bu örnekte, SQL Server kapsayıcıda TCP 1433 üzerinden dinliyor ve bu kapsayıcı bağlantı noktası daha sonra konak üzerinde TCP port 1433 olarak kullanıma sunulur.
--name sql1 Rastgele oluşturulan bir ad yerine kapsayıcı için özel bir ad belirtin. Birden fazla kapsayıcı çalıştırırsanız, aynı adı yeniden kullanamazsınız.
--hostname sql1 Kapsayıcı konak adını açıkça ayarlamak için kullanılır. Konak adını belirtmezseniz, varsayılan olarak, rastgele oluşturulan bir sistem GUID'si olan kapsayıcı kimliği konak adı olarak kullanılır.
-d Kapsayıcıyı arka planda (daemon) çalıştırın.
mcr.microsoft.com/mssql/server:2025-latest SQL Server Linux kapsayıcı görüntüsü.

Sistem yöneticisi parolasını değiştirme

Sistem yöneticisi (sa) hesabı, kurulum sırasında oluşturulan SQL Server örneğinde bir sistem yöneticisidir. SQL Server kapsayıcınızı oluşturduktan sonra, belirttiğiniz MSSQL_SA_PASSWORD ortam değişkeni kapsayıcıda echo $MSSQL_SA_PASSWORD çalıştırılarak bulunabilir. Güvenlik amacıyla, bir üretim ortamında parolanızı sa değiştirmeniz gerekir.

  1. sa hesabı için kullanılacak güçlü bir parola seçin. 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.

  2. Transact-SQL kullanarak parolayı değiştirmek için sqlcmd'yidocker execiçin kullanın. Aşağıdaki örnekte, eski ve yeni parolalar kullanıcı girişinden okunur.

    docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd \
    -S localhost -U sa \
     -P "$(read -sp "Enter current SA password: "; echo "${REPLY}")" \
     -Q "ALTER LOGIN sa WITH PASSWORD=\"$(read -sp "Enter new SA password: "; echo "${REPLY}")\""
    
    docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd `
       -S localhost -U sa -P "<password>" `
       -Q "ALTER LOGIN sa WITH PASSWORD='<new-password>'"
    
    docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd `
       -S localhost -U sa -P "<password>" `
       -Q "ALTER LOGIN sa WITH PASSWORD='<new-password>'"
    

    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.

    Sqlcmd'nin son 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.

En iyi yöntem olarak SA hesabını devre dışı bırakma

Önemli

Sonraki adımlar için bu kimlik bilgilerine ihtiyacınız olacaktır. Buraya girdiğiniz kullanıcı kimliğini ve parolayı not edin.

Yüklemeden sonra ilk kez sistem yöneticisi (sa) hesabını kullanarak SQL Server örneğine bağlandığınızda, bu adımları izlemeniz ve ardından en iyi güvenlik uygulaması olarak sa hesabını hemen devre dışı bırakmanız önemlidir.

  1. Yeni bir kullanıcı adı oluşturun ve bunu sysadmin sunucu rolünün bir üyesi yapın.

  2. Oluşturduğunuz yeni oturum açma bilgilerini kullanarak SQL Server örneğine bağlanın.

  3. En iyi güvenlik uygulaması için önerilen sa hesabını devre dışı bırakın.

Kapsayıcı listesini görüntüleme

  1. Docker kapsayıcılarınızı görüntülemek için komutunu kullanın docker ps .

    docker ps -a
    
    docker ps -a
    
    docker ps -a
    

    Aşağıdaki örneğe benzer bir çıktı görmeniz gerekir:

    CONTAINER ID   IMAGE                                        COMMAND                    CREATED         STATUS         PORTS                                       NAMES
    d4a1999ef83e   mcr.microsoft.com/mssql/server:2025-latest   "/opt/mssql/bin/perm..."   2 minutes ago   Up 2 minutes   0.0.0.0:1433->1433/tcp, :::1433->1433/tcp   sql1
    
  2. STATUS sütununda Updurumu gösteriliyorsa, SQL Server kapsayıcıda çalışır ve PORTS sütununda belirtilen bağlantı noktasını dinler. SQL Server kapsayıcınızın STATUS sütunu Exitedgösteriyorsa bkz. SQL Server Docker kapsayıcılarının sorunlarını giderme. SQL Server hata günlükleri şu iletiyi görüntüledikten sonra sunucu bağlantılara hazır olur: SQL Server is now ready for client connections. This is an informational message; no user action is required. Komutunu kullanarak kapsayıcının içindeki SQL Server hata günlüğünü gözden geçirebilirsiniz:

    docker exec -t sql1 cat /var/opt/mssql/log/errorlog | grep connection
    

    --hostname parametresi, daha önce açıklandığı gibi kapsayıcının iç adını özel bir değerle değiştirir. Bu değer, aşağıdaki Transact-SQL sorgusunda döndürülen addır:

    SELECT @@SERVERNAME,
           SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
           SERVERPROPERTY('MachineName'),
           SERVERPROPERTY('ServerName');
    

    --hostname Ve --name değerini aynı değere ayarlamak, hedef kapsayıcıyı kolayca tanımlamanın iyi bir yoludur.

SQL Server'a bağlanma

Aşağıdaki adımlarda SQL Server'a bağlanmak için kapsayıcının içindeki SQL Server komut satırı aracı sqlcmd yardımcı programı kullanılır.

  1. Etkileşimli bir bash oturumu başlatmak için çalışan konteynırınızda docker exec -it komutunu kullanın. Aşağıdaki örnekte, sql1 kapsayıcıyı oluştururken --name parametresi tarafından belirtilen addır.

    docker exec -it sql1 "bash"
    
    docker exec -it sql1 "bash"
    
    docker exec -it sql1 "bash"
    
  1. Kapsayıcının içine girdikten sonra, tam yolunu kullanarak sqlcmd ile yerel olarak bağlanın.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U <userid> -P "<password>"
    

    Sqlcmd'nin son 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. Örneğin:

    /opt/mssql-tools/bin/sqlcmd -S localhost -U <userid>
    
  1. Kapsayıcının içine girdikten sonra, tam yolunu kullanarak sqlcmd ile yerel olarak bağlanın.

    /opt/mssql-tools18/bin/sqlcmd -S localhost -U <userid> -P "<password>"
    

    Sqlcmd'nin son 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. Örneğin:

    /opt/mssql-tools18/bin/sqlcmd -S localhost -U <userid>
    
  1. Başarılı olursa, sqlcmd komut istemine ulaşmalısınız: 1>.

Veri oluşturma ve sorgulama

Aşağıdaki bölümlerde sqlcmd ve Transact-SQL kullanarak yeni bir veritabanı oluşturma, veri ekleme ve sorgu çalıştırma adımları gösterilir.

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 çalıştırılmadı. Önceki komutları çalıştırmak için yeni bir satıra yazın GO :

    GO
    

Veri ekleme

Ardından 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. Inventoryadlı yeni bir tablo oluşturun:

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

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Önceki komutları çalıştırmak için yazın GO :

    GO
    

Veri seçme

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

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

    SELECT *
    FROM Inventory
    WHERE quantity > 152;
    
  2. Komutu çalıştırın:

    GO
    

sqlcmd komut isteminden çıkma

  1. sqlcmd oturumunuzu sonlandırmak için QUITyazın:

    QUIT
    
  2. Kapsayıcınızdaki etkileşimli komut isteminden çıkmak için yazın exit. Etkileşimli bash kabuğundan çıktıktan sonra kapsayıcınız çalışmaya devam eder.

Kapsayıcının dışından bağlanma

Docker makinenizdeki SQL Server örneğine SQL bağlantılarını destekleyen herhangi bir dış Linux, Windows veya macOS aracından da bağlanabilirsiniz. Dış araç, konak makinenin IP adresini kullanır.

Aşağıdaki adımlarda kapsayıcınızda çalıştırılan SQL Server'a bağlanmak için kapsayıcınızın dışındaki sqlcmd kullanılır. Bu adımlarda, kapsayıcınızın dışında SQL Server komut satırı araçlarının zaten yüklü olduğu varsayılır. Diğer araçlar kullanılırken aynı ilkeler geçerlidir, ancak bağlanma işlemi her araç için benzersizdir.

  1. ifconfig veya ip addr kullanarak kapsayıcınızın konak makinesinin IP adresini bulun.

  2. Bu örnek için istemci makinenize sqlcmd aracını yükleyin. Daha fazla bilgi için bkz . sqlcmd yardımcı programı veya Linux'ta sqlcmd ve bcp SQL Server komut satırı araçlarını yükleme.

  3. SQLcmd'yi çalıştırarak IP adresini ve kapsayıcınızdaki 1433 numaralı bağlantı noktasına eşlenen bağlantı noktasını belirtin. Bu örnekte, bağlantı noktası konak makinedeki 1433 numaralı bağlantı noktasıyla aynıdır. Konak makinede farklı bir eşlenmiş bağlantı noktası belirttiyseniz burada kullanabilirsiniz. Bağlantıya izin vermek için güvenlik duvarınızda uygun gelen bağlantı noktasını da açmanız gerekir.

    Sqlcmd'nin son sürümleri varsayılan olarak güvenlidir. Bağlantı başarılı olmazsa ve sürüm 18 veya üzerini kullanıyorsanız, şifrelemenin -No zorunlu değil isteğe bağlı olduğunu belirtmek için sqlcmd'ye seçeneğini ekleyebilirsiniz.

    sudo sqlcmd -S <ip_address>,1433 -U <userid> -P "<password>"
    
    sqlcmd -S <ip_address>,1433 -U <userid> -P "<password>"
    
    sqlcmd -S <ip_address>,1433 -U <userid> -P "<password>"
    

    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.

  4. Transact-SQL komutlarını çalıştırın. İşiniz bittiğinde yazın QUIT.

SQL Server'a bağlanmak için kullanılan diğer yaygın araçlar şunlardır:

Kapsayıcınızı kaldırma

Bu öğreticide kullanılan SQL Server kapsayıcısını kaldırmak istiyorsanız aşağıdaki komutları çalıştırın:

docker stop sql1
docker rm sql1
docker stop sql1
docker rm sql1
docker stop sql1
docker rm sql1

Docker tanıtımı

Docker için SQL Server Linux kapsayıcı görüntüsünü kullanmayı bitirdikten sonra, Geliştirme ve testi geliştirmek için Docker'ın nasıl kullanıldığını bilmek isteyebilirsiniz. Aşağıdaki videoda Docker'ın sürekli tümleştirme ve dağıtım senaryosunda nasıl kullanılabileceğini gösterilmektedir.

 

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.