clr işlevler oluşturma
Bir veritabanı nesnesi içindeki bir örneğini oluşturabilirsiniz SQL Server, programlanan içinde oluşturulan derleme içinde Microsoft .NET Frameworkortak dil çalışma zamanı (clr). Veritabanı nesneleri kaldıraç zengin programlama modeli tarafından ortak dil çalışma zamanı dahil sağlanan toplam işlevleri, İşlevler, saklı yordamlar, Tetikleyiciler ve türleri.
Bir clr oluşturma işlevi SQL Serveraşağıdaki adımları içerir:
Bir static yöntem bir sınıf tarafından desteklenen bir dil olarak işlev tanımlayın .NET Framework. Ortak dil çalışma zamanı programı işlevleri hakkında daha fazla bilgi için bkz: clr kullanıcı tanımlı işlevler. Sonra bir derleme oluşturmak için sınıf derlemek .NET Frameworkuygun dil derleyici kullanarak.
Derleme kaydolun SQL Servercreate assembly deyimi kullanarak. Montajları hakkında daha fazla bilgi için SQL Serverbakın Derlemeler (veritabanı altyapısı).
Kullanarak kayıtlı derleme başvuran işlevi oluşturmak create FUNCTION deyimi.
[!NOT]
Bir SQL Server proje dağıtma Microsoft Visual Studioproje için belirtilen veritabanında derleme kaydeder. Project dağıtma de oluşturur clr işlevleri veritabanındaki tüm yöntemleri ile açıklamalı için SqlFunctionözniteliği. Daha fazla bilgi için, bkz. clr veritabanı nesnelerini dağıtma.
[!NOT]
Yeteneği SQL Serverclr yürütme kodu varsayılan olarak kapalıdır. Oluşturma, değiştirme ve yönetilen kod modüllerinin başvuru veritabanı nesnelerini bırakın, ama bu başvurular içinde çalıştırmaz SQL Serversürece clr seçeneği etkin kullanarak etkin sp_configure (Transact-sql).
Dış kaynaklara erişme
clr işlevler, dosyaları, ağ kaynaklarına, Web Hizmetleri, diğer veritabanları gibi dış kaynaklara erişmek için kullanılabilir (uzak örnekleri de dahil olmak üzere SQL Server). Bu çeşitli sınıfları kullanarak elde edilebilir .NET Framework, gibi System.IO, System.WebServices, System.Sql, vb.. Bu tür işlevleri içeren derleme GÜVENLI izin bu amaçla kümesi ile en az yapılandırılmalıdır. Daha fazla bilgi için, bkz. Derleme (Transact-sql) oluştur. sql istemci yönetilen sağlayıcı uzaktan örneği erişmek için kullanılan SQL Server. Ancak, kaynak sunucu geri döngü bağlantılarına clr işlevleri desteklenmez.
Oluşturmak, değiştirmek veya SQL Server'da derlemeler bırak
clr işlevi oluşturmak için
Yerel kod erişme
clr işlevler PInvoke kullanarak yönetilen kod c veya c++ ile yazılmış kodu gibi özgün (yönetilmeyen) koduna erişmek için kullanılabilir (görmek Yönetilen kod yerel işlevlerini çağıran Ayrıntılar için). Bu, eski kodu olarak clr UDF yeniden izin veya performans açısından kritik UDF'leri yerel kodunda yazmak. Bu, bir güvenli olmayan derlemesi kullanarak gerektirir. Bkz: clr tümleştirme kod erişimi güvenliğiiçin güvenli olmayan derlemeler kullanımıyla ilgili uyarılar.
Ayrıca bkz.
Kavramlar
Kullanıcı tanımlı işlevler (veritabanı altyapısı) oluşturma
Kullanıcı tanımlı toplamları oluşturun
Kullanıcı tanımlı işlevler yürütmek
Görünüm, kullanıcı tanımlı işlevler
Diğer Kaynaklar
Ortak dil çalışma zamanı (clr) tümleştirme programlama kavramları