Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat membuat objek database dalam instance SQL Server yang diprogram dalam assembly yang dibuat dalam Microsoft .NET Framework common language runtime (CLR). Objek database yang dapat memanfaatkan model pemrograman kaya yang disediakan oleh common language runtime termasuk fungsi agregat, fungsi, prosedur tersimpan, pemicu, dan tipe.
Membuat fungsi CLR di SQL Server melibatkan langkah-langkah berikut:
Tentukan fungsi sebagai metode statis kelas dalam bahasa yang didukung oleh .NET Framework. Untuk informasi selengkapnya tentang cara memprogram fungsi dalam runtime bahasa umum, lihat CLR User-Defined Functions. Kemudian, kompilasi kelas untuk membangun assembly di .NET Framework dengan menggunakan pengkompilasi bahasa yang sesuai.
Daftarkan assembly di SQL Server dengan menggunakan pernyataan CREATE ASSEMBLY. Untuk informasi selengkapnya tentang rakitan di SQL Server, lihat Rakitan (Mesin Database).
Buat fungsi yang mereferensikan rakitan terdaftar dengan menggunakan pernyataan CREATE FUNCTION .
Nota
Menyebarkan Proyek SQL Server di Microsoft Visual Studio akan mendaftarkan assembly dalam database yang telah ditentukan untuk proyek tersebut. Menyebarkan proyek juga membuat fungsi CLR dalam database untuk semua metode yang dianotasi dengan atribut SqlFunction. Untuk informasi selengkapnya, lihat Menyebarkan Objek Database CLR.
Nota
Kemampuan SQL Server untuk menjalankan kode CLR nonaktif secara default. Anda dapat membuat, mengubah, dan menghilangkan objek database yang mereferensikan modul kode terkelola, tetapi referensi ini tidak akan dijalankan di SQL Server kecuali Opsi yang diaktifkan clr diaktifkan dengan menggunakan sp_configure (Transact-SQL).
Mengakses Sumber Daya Eksternal
Fungsi CLR dapat digunakan untuk mengakses sumber daya eksternal seperti file, sumber daya jaringan, Layanan Web, database lain (termasuk instans jarak jauh SQL Server). Ini dapat dicapai dengan menggunakan berbagai kelas di .NET Framework, seperti , , System.WebServicesSystem.Sql, dan sebagainyaSystem.IO. Rakitan yang berisi fungsi tersebut setidaknya harus dikonfigurasi dengan izin EXTERNAL_ACCESS yang ditetapkan untuk tujuan ini. Untuk informasi selengkapnya, lihat MEMBUAT RAKITAN (Transact-SQL). Penyedia Terkelola Klien SQL dapat digunakan untuk mengakses instans jarak jauh SQL Server. Namun, koneksi loopback ke server asal tidak didukung dalam fungsi CLR.
Untuk membuat, mengubah, atau menghilangkan rakitan di SQL Server
Untuk membuat fungsi CLR
Mengakses Kode Asli
Fungsi CLR dapat digunakan untuk mengakses kode asli (tidak dikelola), seperti kode yang ditulis dalam C atau C++, melalui penggunaan PInvoke dari kode terkelola (lihat Memanggil Fungsi Asli dari Kode Terkelola untuk detailnya). Ini dapat memungkinkan Anda untuk menggunakan kembali kode lama sebagai UDF CLR, atau menulis UDF yang memerlukan performa tinggi dalam kode asli. Ini memerlukan penggunaan rakitan TIDAK AMAN. Lihat Keamanan Akses Kode Integrasi CLR untuk peringatan mengenai penggunaan rakitan tidak aman.
Lihat Juga
Membuat Fungsi yang Ditentukan Pengguna (Mesin Database)
Membuat Agregat yang ditentukan pengguna
Jalankan Fungsi yang Ditentukan Pengguna
Menampilkan Fungsi yang ditentukan pengguna
Konsep Pemrograman Integrasi Common Language Runtime (CLR)