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: 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.
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.
SQL Server için kurulum sihirbazını başlatın.
Yükleme sekmesinde Yeni SQL Server tek başına yükleme'yi seçin veya var olan bir yüklemeye özellik ekleyin.
Ö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.
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\Logaltındaki klasörün konumunu not edin. Kurulum tamamlandığında, Özet dosyasında yüklü bileşenleri gözden geçirebilirsiniz.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
C# kodunu çalıştırmak için kullanılan .NET dil uzantısını indirmek ve kaydetmek için bu adımları izleyin.
dotnet-core-CSharp-lang-extension-windows-release.zipDOSYAYı SQL Server GitHub deposu için .NET dil uzantısından indirin. En son Windowsdotnet-core-CSharp-lang-extension-windows-release.zipdosyasını indirin. Daha yeni bir .NET çalışma zamanı kullanmayı tercih ediyorsanız GitHub kaynak kodundan derlemenizdotnet-core-CSharp-lang-extensiongerekir.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.
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'); GOLaunchpad'i yeniden başlatın.
SQL Server Yapılandırma Yöneticisi açın.
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
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.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; GOMachine 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.
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_valueartık olarak1ayarlanmıştır.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:
- SQL Server Machine Learning Services için güvenlik duvarı yapılandırması
- Sunucu ağ protokollerini etkinleştirme veya devre dışı bırakma
- Sunucusu yapılandırması: uzaktan erişim
- SQLRUserGroup için oturum açma oluşturma
Veritabanında aşağıdaki yapılandırma güncelleştirmelerine ihtiyacınız olabilir:
- Veritabanı kullanıcılarına SQL Server Machine Learning Services ile Python ve R betikleri yürütme izni verme
- Kullanıcılara belirli bir dili yürütme izni verme
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.
Dış kaynakları yönetmek üzere bir kaynak havuzu yapılandırmak için bkz. CREATE EXTERNAL RESOURCE POOL (Transact-SQL).
Veritabanı için ayrılan bellek miktarını değiştirmek için bkz . Sunucu belleği yapılandırma seçenekleri.
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: