Aracılığıyla paylaş


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).Tarafından bir ortak dil çalışma zamanı dahil sağlanan toplamak işlevleri, işlevler, zengin bir programlama modeli leverage yordamları ve Tetikleyicileri türleri depolanan, veritabanı nesneleri.

Bir CLR işlev oluşturma SQL Server aşağıdaki adımları içerir:

  • Bir sınıf tarafından desteklenmeyen bir dilde statik bir yöntem olarak işlev tanımlamak .NET Framework. Common language runtime program işlevlerini nasıl hakkında daha fazla bilgi için bkz: CLR kullanıcı tanımlı işlevler. Daha sonra derleme oluşturmaya sınıfı derleme .NET Framework uygun dil derleyici kullanarak.

  • Derlemede kaydetme SQL Server derleme CREATE deyim kullanarak. Derlemelerde hakkında daha fazla bilgi için SQL Server, bkz: Derlemeler (Veritabanı Altyapısı).

  • Kayıtlı derleme kullanarak başvuran bir işlev oluşturun FONKSİYON OLUŞTUR ekstresi.

Not

Deploying a SQL Server Project in Microsoft Visual Studio registers an assembly in the database that was specified for the project.Ile tüm yöntemleri açıklamalı için proje dağıtımı ayrıca CLR işlevleri veritabanında oluşturur SqlFunction Öznitelik. Daha fazla bilgi için bkz:CLR veritabanı nesnelerini dağıtma.

Not

Yeteneği SQL Server yürütmek CLR kodunun varsayılan olarak kapalıdır. Oluşturabilir, değiştirebilir ve yönetilen kod modüllerini başvuran veritabanı nesnelerini bırakın; ancak, bu başvuruları çalıştırmaz SQL Server sürece CLR seçeneği etkinleştirildi. kullanarak etkinsp_configure (Transact-SQL).

Dış Kaynaklar erişme

Dosyaları, ağ kaynaklarına, Web Hizmetleri, (Uzak örneklerini dahil diğer veritabanları gibi dış kaynaklara erişmeyi CLR işlevleri kullanılabilir. SQL Server). Bu içinde çeşitli sınıfları kullanarak elde edilebilir .NET Framework, gibi System.IO, System.WebServices, System.Sqlolarak ayarlar. Bu tür işlevleri içeren bir derleme, bu amaç için ayarlanan EXTERNAL_ACCESS iznine sahip en az yapılandırılmalıdır.Daha fazla bilgi için bkz:derleme (Transact-SQL) CREATE.SQL istemcisi yönetilen sağlayıcı uzak örneklerini erişmek için kullanılabilir: SQL Server. Ancak, özgün sunucuya geri döngü bağlantılarına CLR işlevleri desteklenmez.

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

Bir CLR işlev oluşturmak için