Microsoft.Data.SqlClient'i yükleyin, güncelleyin ve dağıtın

Microsoft.Data.SqlClient, SQL Server, Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, Azure Synapse Analytics, Microsoft Fabric'teki SQL veritabanı ve Microsoft Fabric'teki Warehouse için desteklenen .NET veri sağlayıcısıdır. Sürücü, .NET çalışma zamanından bağımsız olarak NuGet paketleri olarak gönderilir.

Bir sürüm seçin

Üretim uygulamaları için desteklenen Genel Kullanılabilirlik (GA) sürümünü kullanın. En son GA sürümü Microsoft.Data.SqlClient 7.1.1.

Çıkış hattı En son sürüm Destek düzeyi Ne zaman seçeceğini
7.1 7.1.1 Standart Süreli Destek (STS) Güncel sürücü özelliklerine ihtiyacınız var ve normal sürüm hızında güncelleme yapabilirsiniz.
7.0 7.0.3 Standart Süreli Destek (STS) Destek süresi 17 Aralık 2026'da sona ermeden önce yükseltmeye hazırlanırken bakım düzeltmelerine ihtiyacınız var.
6.1 6.1.7 Uzun Vadeli Destek (LTS) Daha uzun bir destek süresi tercih edersiniz ve 7.x'te tanıtılan özelliklere ihtiyacınız yoktur.

Güncel yama sürümleri, destek tarihleri, hedef çerçeveler ve veritabanı uyumluluğu için SqlClient sürücü destek yaşam döngüsü sayfasına bakınız.

Çekirdek paketi kur

Proje dosyanızı içeren dizinden aşağıdaki komutu çalıştırın:

dotnet add package Microsoft.Data.SqlClient

Komut, projeyle uyumlu en son kararlı sürümü seçer. Tekrarlanabilir derlemeler için bir versiyonu sabitlemek için şu versiyonu belirtin:

dotnet add package Microsoft.Data.SqlClient --version <version>

Komut, proje dosyanıza bir PackageReference öğe ekler. 7.1.1 sürümü için, proje dosyası şu satırı içerir:

<PackageReference Include="Microsoft.Data.SqlClient" Version="7.1.1" />

Eğer Microsoft.Data.SqlClient.Extensions.Azure de eklerseniz, onun PackageReference bileşeni de aynı sürümü kullanır.

Bağımlılıkları geri getirin ve projeyi inşa edin:

dotnet restore
dotnet build

Restore veya build, bilinen bir güvenlik açığı olan paket hakkında, örneğin NU1902 veya NU1903, bir uyarı bildiriyorsa Bilinen güvenlik açıkları olan paketler bildirildiğinde yapılacaklar bölümündeki adımları takip edin.

Sürücü isim alanını C#'da içe aktarın:

using Microsoft.Data.SqlClient;

Yeni uygulamalar için eski System.Data.SqlClient pakete veya isim alanına başvurmayın. Mevcut bir uygulamayı güncellemek için bkz. System.Data.SqlClient'tan Microsoft'a Taşıma. Data.SqlClient.

Visual Studio ile yükleme

  1. Çözüm Gezgini'da projeye sağ tıklayın ve Manage NuGet Packages'ı seçin.
  2. Gözat sekmesinde Microsoft.Data.SqlClient öğesini arayın.
  3. Microsoft'a ait paketi seçin.
  4. Desteklenen bir kararlı sürüm seçin ve ardından Kurulum'u seçin.

Daha fazla bilgi için bkz. NuGet Paket Yöneticisi kullanarak Visual Studio'da paketleri yükleme ve yönetme.

Opsiyonel paketler ekleyin

Uygulamanız ilgili özelliği kullandığında isteğe bağlı paketleri yükleyin.

Package Ne zaman ekleneceği
Microsoft.Data.SqlClient.Extensions.Azure Microsoft. Data.SqlClient 7.0 veya daha sonrası, sürücü tarafından sağlanan Microsoft Entra kimlik doğrulama modunu kullanır, örneğin Active Directory Default, Active Directory Interactive, veya Active Directory Managed Identity.
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider Always Encrypted, column master keys'leri Azure Key Vault'ta saklar.

SqlClient 7.0 veya daha sonrası ile Microsoft Entra kimlik doğrulaması için şu programları çalıştırın:

dotnet add package Microsoft.Data.SqlClient.Extensions.Azure --version <same-version-as-Microsoft.Data.SqlClient>

7.0 çekirdek paketi artık Azure Identity bağımlılıklarını içermemektedir. 7.0.2 sürümünden itibaren, temel sürücü ve eşlik paketleri hizalanmış sürümleri kullanır. Aynı versiyona Microsoft.Data.SqlClient ve Microsoft.Data.SqlClient.Extensions.Azurereferans verin. Sürücü tarafından sağlanan Microsoft Entra doğrulamasını kullanmayan uygulamalar Azure uzantı paketine ihtiyaç duymaz. Kimlik doğrulama kurulumu için bkz. Microsoft.Data.SqlClient ile Microsoft Entra kimlik doğrulaması.

Sürücüyü güncelleştirin

  1. Güncelleme yapmadan önce şu öğeleri kontrol edin:

    • Microsoft.Data.SqlClient'teki yenilikleri ve güncellemenin geçtiği her sürüm için üst akıştaki sürüm notlarını okuyun.

    • Uygulamanın doğrudan ve geçişli paket referanslarını listeleyin:

      dotnet list package --include-transitive
      
    • Uygulamanın doğrudan referans verdiği her eş paketi, örneğin Microsoft.Data.SqlClient.Extensions.Azure veya Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider, not edin.

  2. Paket referansını güncelleyin.

    dotnet add package Microsoft.Data.SqlClient --version <version>
    
  3. 7.0.2 ve sonraki sürümler için, doğrudan referans verilen her yardımcı paketi aynı sürüme güncelleyin.

  4. Uygulamayı geri getirin, oluşturun ve çalıştırın.

  5. Her desteklenen veritabanı hedefinde bağlantı oluşturmayı, kimlik doğrulamayı, sertifika doğrulamayı, bağlantı havuzunu, veri tipi dönüşümlerini, işlemleri ve yeniden deneme davranışını test edin.

Büyük ve yama sürümleri uygulama değişiklikleri gerektirebilir. Örneğin, 4.0 sürümü varsayılan olarak şifrelemeyi etkinleştirdi, 5.0 sürümü SqlConnectionStringBuilder.Encrypt değerini bool yerine SqlConnectionEncryptOption olarak değiştirdi ve 7.0 sürümü sürücü tarafından sağlanan Microsoft Entra kimlik doğrulamasını ayrı bir pakete taşıdı.

7.0.2 sürümünden itibaren, Microsoft.Data.SqlClient.Internal.Logging, Microsoft.Data.SqlClient.Extensions.Azure ve 1.0.0.0 derleme sürümleri 7.0.0.0'den Microsoft.Data.SqlClient.Extensions.Abstractions'e değişti. .NET Framework uygulamaları hizalanmış paketlere karşı yeniden inşa edilmeli veya bağlama yönlendirmeleri eklemelidir. Mevcut .NET'teki uygulamalar bu assembly kimlik değişikliğinden etkilenmiyor.

Hedef çerçeveleri anlamak

Microsoft.Data.SqlClient 7.1, uygulamaları aşağıdaki platformlarda destekler:

  • .NET 8 veya daha üzeri, Windows, Linux ve macOS sürümlerini destekliyordu.
  • .NET Framework 4.6.2 veya daha yeni sürümleri Windows'ta.

NuGet paketi ayrıca kütüphaneler için bir .NET Standard 2.0 uyumluluk varlığını içerir. Çalıştırılabilir bir uygulama, desteklenen bir .NET veya .NET Framework çalışma zamanını hedeflemelidir. Bir kütüphanenin .NET Standard hedefi, onu kullanan her çalışma zamanının desteklendiği anlamına gelmez.

Paket, yönetilen ve yerel bağımlılıklarını NuGet aracılığıyla geri kazandırıyor. Uygulamalar arasında bireysel sürücü montajlarını veya yerel SQL Ağ Arayüzü (SNI) kütüphanelerini kopyalamayın.

.NET Framework projeleri

Bu makalelerdeki örnekler .NET'i hedefliyor. Yeni geliştirme için .NET Framework yerine .NET kullanın. Daha fazla bilgi için .NET Framework'e Genel Bakış konusuna bakın.

.NET Framework'ü hedefleyen projeler varsayılan olarak C# 7.3 kullanır, bu yüzden .NET için yazılmış bir örnek orada değişiklik olmadan derlenemez. Hızlı başlangıç: Microsoft.Data.SqlClient ile bağlanma ve sorgulama makalesinde, örneğinin C# 7.3 sürümünü içeren bir .NET Framework sekmesi vardır.

Dağıtıma hazırlanma

  1. Üretimde kullanılan aynı işletim sistemi ve mimari için yayınlayın. Framework'e bağlı bir dağıtım için:

    dotnet publish --configuration Release
    

    Çalışma zamanına özgü bir dağıtım için:

    dotnet publish --configuration Release --runtime <runtime-identifier>
    
  2. Tam yayın çıktısını dağıtın. Sadece Microsoft.Data.SqlClient.dllseçmeyin.

  3. Kendinden bağımsız bir uygulama yayımlamadığınız sürece, hedef sistemin gerekli .NET çalışma zamanına sahip olduğunu doğrulayın.

  4. Yayınlanan çıktıyı hedef işletim sistemi ve mimari üzerinde test edin.

  5. Üretimde kullanılan her kimlik doğrulama modunu test edin. Entegre kimlik doğrulama, Kerberos, sertifikalar, yönetilen kimlik ve Azure Key Vault erişimi dağıtım ortamına bağlıdır.

  6. Çözülmüş bağımlılık grafiğini bilinen güvenlik açığları için tarar ve düzeltmeler bulunduğunda desteklenen paket satırlarını güncelleyin.

Küreselleşme değişmez mod desteklenmiyor. Mevcut platform nitelikleri için bkz. Desteklenen işletim sistemleri.

Çevrimdışı paket kurulumu

Paketi ve bağımlılıklarını NuGet.org'dan indirin, bunları dahili bir paket kaynağına kopyalayın ve o kaynaktan geri yükleyin. Tekrarlanabilir çevrimdışı derlemeler için paket sürümlerini sabitleyin ve bağımlılıkların tamamını koruyun.