Aracılığıyla paylaş


Windows'da SQL Server .NET Dil Uzantısı'nı yükleme

Şunlar için geçerlidir: SQL Server 2019 (15.x) ve sonraki sürümleri

Windows'da SQL Server için .NET Dil Uzantısı bileşenini (C#tarafından kullanılır) yüklemeyi öğrenin. .NET Dil Uzantısı , SQL Server Dil Uzantıları'nın bir parçasıdır.

Uyarı

Bu makale, Windows'da SQL Server için .NET Dil Uzantısı'nın yüklenmesine yöneliktir. Linux desteklenmez.

Önkoşullar

Uyarı

Özellik özellikleri ve yükleme seçenekleri SQL Server sürümleri arasında farklılık gösterir. SQL Server'ın uygun sürümünü seçmek için sürüm seçici açılan listesini kullanın.

  • .NET Dil Uzantısı desteğini yüklemek istiyorsanız SQL Server Kurulumu gereklidir.

  • .NET Dil Uzantısı .NET 6 ve üzeri çalışma zamanlarını destekler ve yalnızca Windows'ta desteklenir.

  • Veritabanı Altyapısı örneği gereklidir. Yalnızca .NET Dil Uzantısı özelliklerini yükleyemezsiniz, ancak bunları mevcut bir örneğe artımlı olarak ekleyebilirsiniz.

  • İş sürekliliği için Always On kullanılabilirlik grupları Dil Uzantıları için desteklenir. Dil uzantılarını yüklemeniz ve paketleri her düğüme yapılandırmanız gerekir. .NET Dil Uzantısı'nın yüklenmesi, SQL Server'daki bir yük devretme kümesi örneğinde de desteklenir.

  • SQL Server Dil Uzantıları'nı veya .NET Dil Uzantısı'nı bir etki alanı denetleyicisine yüklemeyin. Kurulumun Dil Uzantıları bölümü başarısız oluyor.

  • Dil Uzantıları ve Machine Learning Hizmetleri varsayılan olarak SQL Server Büyük Veri Kümelerine yüklenir. Büyük Veri Kümeleri kullanıyorsanız bu makaledeki adımları izlemeniz gerekmez. Daha fazla bilgi için bkz. SQL Server 2019 Büyük Veri Kümelerinde Machine Learning Services ile Python ve R betiklerini çalıştırma.

Önemli

Kurulum tamamlandıktan sonra, bu makalede açıklanan yapılandırma sonrası adımları tamamladığınızdan emin olun. Bu adımlar, SQL Server'ın dış kod kullanmasını etkinleştirmeyi ve SQL Server'ın sizin yerinize C# kodunu çalıştırması için gereken hesapları eklemeyi içerir. Yapılandırma değişiklikleri genellikle örneğin yeniden başlatılmasını veya Launchpad hizmetinin yeniden başlatılmasını gerektirir.

.NET çalışma zamanı

.NET 6 uzun vadeli destek (LTS), desteklenen en erken çalışma zamanıdır. Windows için .NET çalışma zamanını indirebilirsiniz . Linux desteklenmez.

.NET çalışma zamanının en son LTS sürümünü kullanmak istiyorsanız, .NET Dil Uzantısı'nı yeniden derlemeniz gerekir.

Yükleme medyasını alma

SQL Server'ın indirme konumu sürüme bağlıdır:

  • SQL Server Enterprise, Standard ve Express sürümleri. Bu sürümler üretim kullanımı için lisanslıdır. Enterprise ve Standard sürümleri için yükleme medyası için yazılım satıcınıza başvurun. Satın alma bilgilerini ve Microsoft iş ortaklarının dizinini Microsoft satın alma web sitesinde bulabilirsiniz.

  • En son ücretsiz sürüm.

Kurulumu Çalıştır

Yerel yüklemeler için, Kurulum'u yönetici olarak çalıştırmanız gerekir. SQL Server'ı uzak bir paylaşımdan yüklerseniz, uzak paylaşımda okuma ve yürütme izinlerine sahip bir etki alanı hesabı kullanmanız gerekir.

  1. SQL Server için kurulum sihirbazını başlatın.

  2. Yükleme sekmesinde Yeni SQL Server tek başına yükleme'yi seçin veya var olan bir yüklemeye özellik ekleyin.

  3. Özellik Seçimi sayfasında şu seçenekleri belirleyin:

    Veritabanı Altyapısı Hizmetleri: DIL Uzantılarını SQL Server ile kullanmak için Veritabanı Altyapısı'nın bir örneğini yüklemeniz gerekir. Varsayılan veya adlandırılmış örnek kullanabilirsiniz.

    Machine Learning Hizmetleri ve Dil Uzantıları: Bu seçenek, C# kod yürütmesini destekleyen Dil Uzantıları bileşenini yükler.

    Örnek özelliklerinin ekran görüntüsü.

  4. Yüklemeye Hazır sayfasında, bu seçimlerin dahil olduğunu doğrulayın ve Yükle'yi seçin.

    • Veritabanı Altyapısı Hizmetleri
    • Machine Learning Hizmetleri ve Dil Uzantıları

    Yapılandırma dosyalarının depolandığı yolun ..\Setup Bootstrap\Log altındaki klasörün konumunu not edin. Kurulum tamamlandığında, Özet dosyasında yüklü bileşenleri gözden geçirebilirsiniz.

  5. Kurulum tamamlandıktan sonra bilgisayarı yeniden başlatmanız istenirse, bunu şimdi yapın. Kurulum'u bitirdiğinizde Yükleme Sihirbazı'ndan gelen iletiyi okumak önemlidir. Daha fazla bilgi için bkz. SQL Server Kurulum günlük dosyalarını görüntüleme ve okuma.

Dil uzantısını kaydetme

  1. C# kodunu çalıştırmak için kullanılan .NET dil uzantısını indirmek ve kaydetmek için bu adımları izleyin.

    1. dotnet-core-CSharp-lang-extension-windows-release.zip DOSYAYı SQL Server GitHub deposu için .NET dil uzantısından indirin. En son Windows dotnet-core-CSharp-lang-extension-windows-release.zip dosyasını indirin. Daha yeni bir .NET çalışma zamanı kullanmayı tercih ediyorsanız GitHub kaynak kodundan derlemeniz dotnet-core-CSharp-lang-extension gerekir.

    2. SQL Server örneğine bağlanmak için SQL Server Management Studio'yu (SSMS) kullanın ve .NET dil uzantısını CREATE EXTERNAL LANGUAGE ile kaydetmek için aşağıdaki Transact-SQL (T-SQL) komutunu çalıştırın.

    3. bu deyimdeki yolu, indirilen dil uzantısı zip dosyasının (dotnet-core-CSharp-lang-extension-windows-release.zip) konumunu yansıtacak şekilde değiştirin.

    CREATE EXTERNAL LANGUAGE [dotnet]
    FROM (CONTENT = N'C:\path\to\dotnet-core-CSharp-lang-extension-windows-release.zip',
        FILE_NAME = 'dotnetextension.dll');
    GO
    
  2. Launchpad'i yeniden başlatın.

    1. SQL Server Yapılandırma Yöneticisi açın.

    2. SQL Server Hizmetleri'nin altında SQL Server Başlatma Çubuğu'nu sağ tıklatın ve Yeniden Başlat'ı seçin.

Hizmeti yeniden başlatın

Yükleme tamamlandığında, betik yürütmeyi etkinleştirerek sonraki adıma geçmeden önce Veritabanı Altyapısı'nı yeniden başlatın.

Hizmetin yeniden başlatılması, ilgili SQL Server Launchpad hizmetini de otomatik olarak yeniden başlatır.

SSMS'deki örnek için Yeniden Başlat komutuna sağ tıklayarak, Denetim Masası'ndaki Hizmetler paneliyle veya SQL Server Configuration Manager'ı kullanarak hizmeti yeniden başlatabilirsiniz.

Betik yürütmeyi etkinleştirme

  1. SQL Server Management Studio'yu açın. Dil Uzantıları'nı yüklediğiniz örneğe bağlanın, Yeni Sorgu'yu seçerek bir sorgu penceresi açın ve aşağıdaki komutu çalıştırın:

    EXECUTE sp_configure;
    

    Özellik varsayılan olarak kapalıdır (value ) 0ve C# kodunu çalıştırabilmeniz için önce yönetici tarafından açıkça etkinleştirilmesi gerekir.

  2. Dış betik özelliğini etkinleştirmek için aşağıdaki deyimi çalıştırın:

    EXECUTE sp_configure 'external scripts enabled', 1;
    GO
    
    RECONFIGURE WITH OVERRIDE;
    GO
    

    Machine Learning Services özelliğini zaten etkinleştirdiyseniz, Dil Uzantıları için yeniden yapılandırmayı ikinci kez çalıştırmayın. Temel alınan genişletilebilirlik platformu ikisini de destekler.

Dış dili kaydetme

Dil uzantılarını kullanmak istediğiniz her veritabanı için dış dili CREATE EXTERNAL LANGUAGE ile kaydetmeniz gerekir.

Aşağıdaki örnek, Windows üzerinde SQL Server'da bir veritabanına adlı dotnet bir dış dil ekler.

CREATE EXTERNAL LANGUAGE [dotnet]
FROM (CONTENT = N'<path-to-zip>', FILE_NAME = 'dotnetextension.dll');
GO

Daha fazla bilgi için bkz. CREATE EXTERNAL LANGUAGE.

Yüklemeyi doğrulama

Kurulum günlüklerinde örneğin yükleme durumunu denetleyin.

Dış betiği başlatmak için kullanılan tüm bileşenlerin çalıştığını doğrulamak için aşağıdaki adımları kullanın.

  1. SQL Server Management Studio veya Azure Data Studio'da yeni bir sorgu penceresi açın ve aşağıdaki deyimi çalıştırın:

    EXECUTE sp_configure 'external scripts enabled';
    

    run_value artık olarak 1ayarlanmıştır.

  2. Hizmetler panelini veya SQL Server Configuration Manager'ı açın ve SQL Server Launchpad hizmetinin çalıştığını doğrulayın. Dil uzantıları yüklü olan her Veritabanı Altyapısı örneği için bir hizmetiniz olmalıdır. Hizmet hakkında daha fazla bilgi için bkz. SQL Server Dil Uzantılarında Genişletilebilirlik mimarisi.

Ek yapılandırma

Doğrulama adımı başarılı olursa SQL Server Management Studio, Azure Data Studio, Visual Studio Code veya sunucuya T-SQL deyimleri gönderebilen başka bir istemciden C# kodu çalıştırabilirsiniz.

Komutu çalıştırırken hata alırsanız bu bölümdeki ek yapılandırma adımlarını gözden geçirin. Hizmete veya veritabanına ek uygun yapılandırmalar yapmanız gerekebilir.

Örnek düzeyinde ek yapılandırma şunları içerebilir:

Veritabanında aşağıdaki yapılandırma güncelleştirmelerine ihtiyacınız olabilir:

Uyarı

Ek yapılandırma gerekip gerekmediği, SQL Server'ı yüklediğiniz güvenlik şemanıza ve kullanıcıların veritabanına bağlanmasını ve dış betikleri çalıştırmasını nasıl beklediğinize bağlıdır.

Önerilen iyileştirmeler

Artık her şey çalıştığına göre, sunucuyu .NET Dil Uzantısı'nı destekleyecek şekilde de iyileştirmek isteyebilirsiniz.

Sunucuyu .NET Dil Uzantısı için iyileştirme

SQL Server kurulumu için varsayılan ayarlar, veritabanı altyapısı tarafından desteklenen çeşitli hizmetler için sunucunun dengesini iyileştirmeye yöneliktir. Bu hizmetler arasında ayıklama, dönüştürme ve yükleme (ETL) işlemleri, raporlama, denetim ve SQL Server verilerini kullanan uygulamalar yer alabilir. Bu nedenle, varsayılan ayarlar altında dil uzantılarına yönelik kaynakların, özellikle yoğun bellek kullanan işlemlerde bazen kısıtlandığını veya kısıtlandığını fark edebilirsiniz.

Dil uzantıları işlerinin önceliklerinin belirlendiğinden ve uygun şekilde kaynak sağlandığından emin olmak için SQL Server Resource Governor'ı kullanarak bir dış kaynak havuzu yapılandırmanızı öneririz. Ayrıca Veritabanı Altyapısı'na ayrılan bellek miktarını değiştirmek veya SQL Server Launchpad hizmeti altında çalışan hesap sayısını artırmak isteyebilirsiniz.

Standard sürümünü kullanıyorsanız ve Resource Governor'larınız yoksa, sunucu kaynaklarını yönetmeye yardımcı olmak için dinamik yönetim görünümlerini (DMV'ler) ve Genişletilmiş Olayları ve Windows olay izlemesini kullanabilirsiniz.

Sonraki adım

C# geliştiricileri bazı basit örneklerle çalışmaya başlayabilir ve C# ile SQL Server'ın nasıl çalıştığına ilişkin temel bilgileri öğrenebilir. Sonraki adımınız için aşağıdaki bağlantıya bakın: