Panoramica dell'integrazione con CLR (Common Language Runtime)

MicrosoftSQL Server include ora l'integrazione del componente CRL (Common Language Runtime) di .NET Framework per Microsoft Windows. CLR fornisce codice gestito con servizi quali l'integrazione tra linguaggi diversi, la protezione dall'accesso di codice, la gestione della durata degli oggetti e il supporto per il debug e il profiling. Grazie all'integrazione con Common Language Runtime, gli sviluppatori di applicazioni e gli utenti di SQL Server hanno ora la possibilità di creare stored procedure, trigger, tipi definiti dall'utente, funzioni definite dall'utente (scalari e con valori di tabella) e funzioni di aggregazione definite dall'utente utilizzando qualsiasi linguaggio di .NET Framework, inclusi Microsoft Visual Basic .NET e Microsoft Visual C#. Si noti che non è possibile utilizzare Visual Studio .NET 2003 per la programmazione dell'integrazione con CLR. Con SQL Server viene fornito .NET Framework versione 2.0 SP1 preinstallato e non è possibile utilizzare assembly di .NET Framework 2.0 in Visual Studio .NET 2003.

I vantaggi principali di questa integrazione sono i seguenti:

  • Un modello di programmazione migliore. I linguaggi .NET Framework sono sotto molti aspetti più ricchi di Transact-SQL e offrono costrutti e funzionalità precedentemente non disponibili per gli sviluppatori di SQL Server. È possibile inoltre sfruttare la potenza della libreria .NET Framework che fornisce una vasta gamma di classi, utilizzabili in modo rapido ed efficiente per risolvere i problemi di programmazione.

  • Miglioramento della sicurezza e della protezione. Poiché il codice gestito viene eseguito in un ambiente CLR ospitato dal Motore di database, SQL Server offre un'alternativa più sicura e protetta alle stored procedure estese disponibili nelle versioni precedenti di SQL Server.

  • Possibilità di definire tipi di dati e funzioni di aggregazione. I tipi definiti dall'utente e le funzioni di aggregazione definite dall'utente sono due nuovi oggetti di database gestiti che espandono le capacità di archiviazione ed esecuzione di query di SQL Server.

  • Sviluppo semplificato attraverso un ambiente standardizzato. Lo sviluppo di database è integrato nelle versioni future dell'ambiente di sviluppo di Microsoft Visual Studio .NET. Gli sviluppatori utilizzano per lo sviluppo e il debug degli script e degli oggetti di database gli stessi strumenti impiegati per scrivere componenti e servizi .NET Framework di livello intermedio o di livello client.

  • Possibilità di prestazioni e scalabilità migliori. In molte situazioni, i modelli di compilazione ed esecuzione del linguaggio .NET Framework consentono di ottenere prestazioni migliori rispetto a Transact-SQL.

Nella tabella seguente sono elencati gli argomenti inclusi in questa sezione.