Jenis yang Ditentukan Pengguna CLR

Berlaku untuk:SQL Server

SQL Server memberi Anda kemampuan untuk membuat objek database yang diprogram terhadap rakitan yang dibuat dalam runtime bahasa umum (CLR) .NET Framework. Objek database yang dapat memanfaatkan model pemrograman kaya yang disediakan oleh CLR termasuk pemicu, prosedur tersimpan, fungsi, fungsi agregat, dan jenis.

Catatan

Kemampuan untuk menjalankan kode CLR diatur ke NONAKTIF secara default di SQL Server. CLR dapat diaktifkan dengan menggunakan prosedur tersimpan sistem sp_configure .

Dimulai dengan SQL Server 2005 (9.x), Anda dapat menggunakan jenis yang ditentukan pengguna (UDT) untuk memperluas sistem jenis skalar server, memungkinkan penyimpanan objek CLR dalam database SQL Server. UDT dapat berisi beberapa elemen dan dapat memiliki perilaku, membedakannya dari jenis data alias tradisional yang terdiri dari satu jenis data sistem SQL Server.

Karena UDT diakses oleh sistem secara keseluruhan, penggunaannya untuk jenis data yang kompleks dapat berdampak negatif pada performa. Data kompleks umumnya paling baik dimodelkan menggunakan baris dan tabel tradisional. UDT di SQL Server sangat cocok untuk yang berikut:

  • Jenis tanggal, waktu, mata uang, dan numerik yang diperpanjang

  • Aplikasi geospasial

  • Data yang dikodekan atau dienkripsi

Proses pengembangan UDT di SQL Server terdiri dari langkah-langkah berikut:

  1. Kode dan bangun assembly yang mendefinisikan UDT. UDT didefinisikan menggunakan salah satu bahasa yang didukung oleh the.NET Framework common language runtime (CLR) yang menghasilkan kode yang dapat diverifikasi. Ini termasuk Visual C# dan Visual Basic .NET. Data diekspos sebagai bidang dan properti kelas atau struktur .NET Framework, dan perilaku ditentukan oleh metode kelas atau struktur.

  2. Daftarkan perakitan. UDT dapat disebarkan melalui antarmuka pengguna Visual Studio dalam proyek database, atau dengan menggunakan pernyataan TRANSACT-SQL CREATE ASSEMBLY, yang menyalin assembly yang berisi kelas atau struktur ke dalam database.

  3. Buat UDT di SQL Server. Setelah assembly dimuat ke dalam database host, Anda menggunakan pernyataan TRANSACT-SQL CREATE TYPE untuk membuat UDT dan mengekspos anggota kelas atau struktur sebagai anggota UDT. UDT hanya ada dalam konteks database tunggal, dan, setelah terdaftar, tidak memiliki dependensi pada file eksternal tempat mereka dibuat.

    Catatan

    Sebelum SQL Server 2005 (9.x), UDT yang dibuat dari rakitan .NET Framework tidak didukung. Namun, Anda masih dapat menggunakan jenis data alias SQL Server dengan menggunakan sp_addtype. Sintaks CREATE TYPE dapat digunakan untuk membuat jenis data asli SQL Server yang ditentukan pengguna dan UDT.

  4. Membuat tabel, variabel, atau parameter menggunakan UDT Dimulai dengan SQL Server 2005 (9.x), jenis yang ditentukan pengguna dapat digunakan sebagai definisi kolom tabel, sebagai variabel dalam batch Transact-SQL, atau sebagai argumen fungsi Transact-SQL atau prosedur tersimpan.

Di Bagian Ini

Membuat Jenis User-Defined
Menjelaskan cara membuat UDT.

Mendaftarkan Jenis User-Defined di SQL Server
Menjelaskan cara mendaftar dan mengelola UDT di SQL Server.

Bekerja dengan Jenis User-Defined di SQL Server
Menjelaskan cara membuat kueri menggunakan UDT.

Mengakses Jenis User-Defined di ADO.NET
Menjelaskan cara bekerja dengan UDT menggunakan Penyedia Data .NET Framework untuk SQL Server di ADO.NET.