Bagikan melalui


Apa itu Ekstensi Bahasa C#?

Berlaku untuk: SQL Server 2019 (15.x) dan versi yang lebih baru

Ekstensi Bahasa C# adalah fitur Ekstensi Bahasa SQL Server yang dapat digunakan untuk mengeksekusi kode C# dalam SQL Server. Anda dapat meneruskan tabel SQL Server yang ada ke aplikasi C# sebagai DataFrame, melakukan operasi di C# menggunakan pustaka kaya, dan mendapatkan kembali kumpulan hasil. Ekstensi bahasa C# ini memungkinkan Anda menggunakan kembali kode C# yang ada, perhitungan, logika, atau pustaka ekstensif yang menyediakan fungsionalitas yang tidak dapat Anda dapatkan di Transact-SQL (T-SQL).

Bahasa C# eksternal didefinisikan dengan CREATE EXTERNAL LANGUAGE. Prosedur tersimpan sistem sp_execute_external_script digunakan sebagai antarmuka untuk menjalankan kode C#.

Catatan

Ekstensi bahasa C# kompatibel dengan SQL Server 2019 (15.x) CU 3 dan versi yang lebih baru. Saat ini, ini hanya mengintegrasikan .NET Core di SQL Server untuk Windows. Linux tidak didukung.

Apa yang dapat Anda lakukan

Ekstensi bahasa C# menggunakan kerangka kerja ekstensibilitas untuk menjalankan kode C# eksternal. Eksekusi kode diisolasi dari proses mesin inti, tetapi sepenuhnya terintegrasi dengan eksekusi kueri SQL Server. Anda dapat menjalankan kode C# di sumber data, menghilangkan kebutuhan untuk menarik data di seluruh jaringan.

Anda dapat melakukan pembersihan data, kueri data cepat, atau pemrosesan lain di C# yang dapat terjadi melalui DataFrame. Dengan menyematkan kode C# dalam prosedur tersimpan, Anda dapat mendorong logika bisnis ke database untuk performa yang lebih baik. Ini membantu menghindari pergerakan dan latensi data yang tidak perlu, karena data tidak perlu diambil dari SQL Server dan dipindahkan ke tingkat aplikasi untuk melakukan pemrosesan logika bisnis.

Memulai

  1. Instal Ekstensi Bahasa .NET SQL Server di Windows.

  2. Mengonfigurasi alat pengembangan.

  3. Tulis kode C# pertama Anda. Gunakan tutorial berikut sebagai titik awal. Tutorial: Mencari string menggunakan ekspresi reguler (regex) di C#.