Share via


clr işlevler oluşturma

You can create a database object inside an instance of SQL Server that is programmed in an assembly created in the Microsoft .NET Framework common language runtime (CLR).Etkin kullanılabilmesinde uyumluluk zengin programlama modeli tarafından ortak dil çalışma zamanı dahil sağlanan toplu işlevleri, İşlevler, saklı, yordamlar, Tetikleyiciler ve türleri veritabanı nesneleri.

Oluşturma bir CLR işlev , SQL Server aşağıdaki adımları içerir:

  • Bir static yöntem tarafından desteklenen herhangi bir dildeki bir sınıf olarak işlev tanımlayın .NET Framework.Ortak dil çalışma zamanı içinde programın işlevleri hakkında daha fazla bilgi için bkz: clr kullanıcı tanımlı işlevler.Daha sonra sınıf bir derleme oluşturmak için derleme .NET Framework kullanarak uygun dil derleyici.

  • Derleme kaydı SQL Server kullanarak DERLEME oluşturma deyim.Derlemeleri hakkında daha fazla bilgi için SQL Server, bkz: Derlemeler (veritabanı altyapısı).

  • Kullanarak kayıtlı derleme başvuran bir işlev oluşturun create FUNCTION deyim.

Not

Deploying a SQL Server Project in Microsoft Visual Studio registers an assembly in the database that was specified for the project.Project dağıtma de oluşturur clr işlevleri veritabanındaki tüm yöntemleri ile açıklama için SqlFunction öznitelik.Daha fazla bilgi için bkz: clr veritabanı nesnelerini dağıtma.

Not

Yeteneğini SQL Server clr kod yürütmek için kapalı göre varsayılan.Oluşturmak, değiştirmek ve yönetilen kod modülleri başvuru veritabanı nesnelerini bırakın, ancak bu başvuruları olacak değil yürütmek , SQL Server sürece clr seçeneği etkin kullanarak etkin sp_configure (Transact-sql).

Dış kaynaklara erişme

Dosyaları, ağ kaynaklarına, Web Hizmetleri, diğer veritabanları gibi dış kaynaklara erişmek için clr işlevleri 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.Sqlve benzeri.Bu tür işlevler içeren derleme en az permission_set izni ile yapılandırılması küme , bu amaç için.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 sunucuya geri döngü bağlantılarına clr işlevleri desteklenir.

Oluşturmak, değiştirmek veya sql Server'da derlemeler bırak

clr işlev oluşturmak için

Yerel kod erişme

clr işlevler kullanımından PInvoke yönetilen kod aracılığıyla c ya da c++ yazılmış kod gibi doğal (yönetilmeyen) kod erişmek için kullanılabilir (bkz: Yönetilen koddan yapılan doğal işlevleri çağırma Ayrıntılar için).Bu, yeniden eski kodu olarak clr UDF'leri kullanmak verebilir veya kritik performansı UDF'ler yerel kod yazma.Bu güvenli olmayan bir kullanmak gerekir derleme.Bkz: clr tümleştirme kod erişimi güvenliği için kullanımı hakkında uyarılargüvenli olmayan derlemeler.