Condividi tramite


Tipi CLR definiti dall'utente

Si applica a:SQL Server

SQL Server consente di creare oggetti di database programmati in base a un assembly creato in Common Language Runtime (CLR) di .NET Framework. Tra gli oggetti di database che consentono l'utilizzo del ricco modello di programmazione offerto da CLR vi sono trigger, stored procedure, funzioni, funzioni di aggregazione e tipi.

Nota

La possibilità di eseguire codice CLR è impostata su OFF per impostazione predefinita in SQL Server. È possibile abilitare CLR usando la stored procedure di sistema sp_configure.

È possibile usare tipi definiti dall'utente (UDT) per estendere il sistema di tipi scalari del server, abilitando l'archiviazione di oggetti CLR in un database di SQL Server. I tipi definiti dall'utente possono contenere più elementi e possono avere comportamenti, differenziandoli dai tipi di dati alias tradizionali costituiti da un singolo tipo di dati di sistema di SQL Server.

Poiché i tipi definiti dall'utente sono accessibili dal sistema nel suo complesso, l'uso per i tipi di dati complessi potrebbe influire negativamente sulle prestazioni. Il modo migliore per modellare i dati complessi in genere consiste nell'utilizzare righe e tabelle tradizionali. I tipi definiti dall'utente in SQL Server sono adatti al tipo di dati seguente:

  • Data, ora, valuta e tipi numerici estesi
  • Applicazioni Geospatial
  • Dati codificati o crittografati

Il processo di sviluppo di tipi definiti dall'utente in SQL Server è costituito dai passaggi seguenti:

  1. Scrivere il codice e compilare l'assembly che definisce il tipo definito dall'utente. I tipi definiti dall'utente vengono definiti usando uno dei linguaggi supportati da Common Language Runtime (CLR) di .NET Framework che producono codice verificabile. Sono inclusi C# e Visual Basic .NET. I dati vengono esposti come campi e proprietà di una classe o una struttura .NET Framework mentre i comportamenti vengono definiti dai metodi della classe o della struttura.

  2. Registrare l'assembly . I tipi definiti dall'utente possono essere distribuiti tramite l'interfaccia utente di Visual Studio in un progetto di database o usando l'istruzione Transact-SQL CREATE ASSEMBLY, che copia l'assembly contenente la classe o la struttura in un database.

  3. Creare il tipo definito dall'utente in SQL Server. Dopo aver caricato un assembly in un database host, usare l'istruzione TRANSACT-SQL CREATE TYPE per creare un tipo definito dall'utente ed esporre i membri della classe o della struttura come membri del tipo definito dall'utente. I tipi definiti dall'utente esistono solo nel contesto di un singolo database e dopo la registrazione non hanno dipendenze sui file esterni da cui sono stati creati.

  4. Creare tabelle, variabili o parametri usando il tipo definito dall'utente. Un tipo definito dall'utente può essere usato come definizione di colonna di una tabella, come variabile in un batch Transact-SQL o come argomento di una funzione o di una stored procedure di Transact-SQL.

In questa sezione

Articolo Descrizione
Creare tipi definiti dall'utente Viene illustrato come creare tipi definiti dall'utente.
Registrare tipi definiti dall'utente in SQL Server Viene descritto come registrare e gestire tipi definiti dall'utente in SQL Server.
Usare tipi definiti dall'utente in SQL Server Viene descritto come creare query mediante i tipi definiti dall'utente.
Accedere ai tipi definiti dall'utente in ADO.NET Viene descritto come usare i tipi definiti dall'utente usando .NET Framework provider di dati per SQL Server in ADO.NET.