clr tümleştirme genel bakış
Ortak dil çalışma zamanı (clr) Microsoft kalbidir.net Framework ve tüm yürütme ortamı sağlar.net Framework kod. clr içinde çalışan kod yönetilen kod adlandırılır. clr, tahsis ve bellek, tür güvenliği, özel durum işleme, iş parçacığı yönetimi ve güvenlik takibinden yönetme çeşitli işlevleri ve adil-içinde-zaman (JIT) derleme, dahil program yürütme için gerekli hizmetleri sağlar. Bkz.Daha fazla bilgi için net Framework sdk.
Microsoft SQL Server (clr tümleştirme denir) barındırılan clr ile saklı yordamlar, Tetikleyiciler, kullanıcı tanımlı işlevler, kullanıcı tanımlı türleri ve kullanıcı tanımlı toplamları yönetilen kod yazabilirsiniz. Yerel kod yürütülmesine kala için yönetilen kod derleme nedeniyle, bazı senaryolarda önemli performans artışı elde edebilirsiniz.
Yönetilen kod kullanan gelen belirli işlemleri gerçekleştirmek derlemeler önlemek için kod erişim güvenliği (cas). SQL Servercas, yönetilen kodun güvenli ve uzlaşma işletim sistemi veya veritabanı sunucusu önlemek için kullanır.
clr tümleştirme avantajları
Transact-SQLözellikle doğrudan veri erişim ve veritabanı işleme için tasarlanmıştır. Ise Transact-SQLöne çıkmaktadır bu veri erişimi ve yönetimi, tam teşekküllü bir programlama dili değil. Örneğin, Transact-SQLdiziler, Koleksiyonlar, for-each döngüsü, gem kayması veya sınıfları desteklemez. Bazı bu yapıları içinde simüle ise Transact-SQLyönetilen kodu entegre bu yapıları desteği. Senaryoya göre bu özellikler yönetilen kod belirli veritabanı işlevselliğini uygulamak için zorlayıcı bir neden sağlar.
Microsoft Visual Basic.net ve Microsoft Visual C# saklama, devralma ve çok biçimlilik gibi nesneye yönelik yetenekleri sunar. İlgili kod artık kolayca sınıfları ve ad alanlarını organize edilebilir. Büyük miktarlarda sunucu kodu ile çalışırken, bu daha kolay düzenlemek ve kodunuzu korumak sağlar.
Yönetilen kod daha iyi daha uygun Transact-SQLhesaplamaları ve karmaşık yürütme mantığı ve çok karmaşık görevleri için kapsamlı destek özellikleri, işleme ve düzenli ifadeler dize dahil. İşlevi bulunamadı.net Framework kitaplığı, önceden sınıfları ve yordamları binlerce erişebilirsiniz. Bunlar-ebilmek var olmak kolayca erişilen herhangi bir saklı yordam, tetikleyici veya kullanıcı tanımlı fonksiyonu. Base Class Library (bcl) dize işleme, İleri matematik işlemleri, dosya erişimi, şifreleme ve daha fazla işlevsellik sağlayan sınıflar içerir.
[!NOT]
Bu sınıfların çoğu clr kodu SQL Server içinde kullanılabilir süre için sunucu tarafı kullanın (örneğin, Pencereleme sınıfları), uygun olmayanlar kullanılamaz. Daha fazla bilgi için, bkz. Desteklenen.net Framework kitaplıkları.
Yönetilen kod avantajlarını tür güvenliği veya kod türleri yalnızca iyi tanımlanmış, izin verilen şekilde erişir ve güvence biridir. Yönetilen kodu yürütülmeden önce clr kodu güvenli olduğunu doğrular. Örneğin, kod, bellek, okuma sağlamak için değil daha önce yazılmış denetlenir. clr kodu Yönetilmeyen bellek işlemek değil sağlamak da yardımcı olabilir.
clr tümleştirme, gelişmiş performans için potansiyel sunmaktadır. Bilgi için clr tümleştirme performans.
Transact-sql ve yönetilen kod arasında seçim yapma
Saklı yordamlar, Tetikleyiciler ve kullanıcı tanımlı işlevler yazarken, yapmanız gereken bir geleneksel kullanılıp kullanılmayacağını karardır Transact-SQL, ya da bir .NET Framework dil Visual Basic gibi.net ya da Visual C#. Kullanım Transact-SQLne zaman kodu çoğunlukla gerçekleştirir veya çok az yordamsal mantık ile veri erişimi. Yönetilen kod cpu yoğun işlevleri ve karmaşık mantığı, özellik yordamlarını kullanın veya bcl of of faydalanmak istediğinizde.net Framework.
Yürütme sunucudaki ve istemci yürütülmesine arasında seçme
Başka bir faktör olarak kullanılıp kullanılmayacağı hakkında karar Transact-SQLveya yönetilen kod burada bulunması için kodunuzu, sunucu veya istemci bilgisayar istiyorum. Hem Transact-SQLve yönetilen kod sunucuda çalıştırılabilir. Bu kod ve veri birbirine yakın yerlerde ve sunucu işleme gücü yararlanmak sağlar. Öte yandan, veritabanı sunucunuz üzerinde işlemci yoğun görevleri yerleştirmekten kaçının isteyebilirsiniz. İstemci bilgisayarların çoğu bugün çok güçlü ve istemcide mümkün olduğu kadar kod yerleştirerek bu işlem gücü yararlanmak isteyebilirsiniz. Yönetilen kod bir istemci bilgisayarda çalıştırabilirsiniz sırasında Transact-SQLolamaz.
Genişletilmiş saklı yordamları ve yönetilen kod arasında seçim yapma
Genişletilmiş saklı yordamlar inşa işlevselliği ile mümkün değildir gerçekleştirmek için Transact-SQLsaklı yordamlar. Genişletilmiş saklı yordamları ancak uzlaşma bütünlüğünü SQL Serversüreci, tür-güvenli olmak can't doğrulanır yönetilen kod süre. Ayrıca, bellek yönetimi, iş parçacıkları ve lifleri ve Eşitleme Hizmetleri planlama daha derin entegre clr yönetilen kod arasında ve SQL Server. clr entegrasyonu ile sen-si olmak değil olası görevleri için saklı yordamlar yazmak için daha güvenli bir şekilde genişletilmiş saklı yordamlar daha Transact-SQL. clr tümleştirme ve genişletilmiş saklı yordamlar hakkında daha fazla bilgi için bkz: clr tümleştirme performans.
Ayrıca bkz.
Kavramlar
Yükleyin.net Framework belgelendirmesi
clr veritabanı nesnelerini Access'ten veri