Librerie .NET Framework supportate
Grazie all'integrazione di CLR in SQL Server, è possibile creare stored procedure, trigger, funzioni definite dall'utente, tipi definiti dall'utente e aggregazioni definite dall'utente nel codice gestito. Con le librerie di classi .NET Framework è possibile accedere alle classi preesistenti che offrono funzionalità per manipolazione delle stringhe, operazioni matematiche avanzate, accesso ai file, crittografia e così via. A queste classi è possibile accedere da stored procedure gestite, tipi definiti dall'utente, trigger, funzioni definite dall'utente o funzioni di aggregazione definite dall'utente.
Nota
Se si gestiscono o aggiornano assembly non supportati nella Global Assembly Cache (GAC), è possibile che si arresti il funzionamento dell'applicazione SQL Server. Ciò si verifica in quanto le operazioni di gestione o aggiornamento delle librerie presenti nella GAC non determinano l'aggiornamento degli assembly che si trovano in SQL Server. Se un assembly è presente sia in un database di SQL Server sia nella GAC, le due copie relative devono corrispondere esattamente. Se non corrispondono, si verificherà un errore quando l'assembly verrà utilizzato dalla funzionalità di integrazione con CLR di SQL Server. Se si gestiscono o aggiornano assembly della GAC registrati anche nel database, inclusi gli assembly .NET Framework non supportati, assicurarsi di gestirne o aggiornarne anche la copia che si trova nei database di SQL Server con l'istruzione ALTER ASSEMBLY Per ulteriori informazioni, vedere l'articolo 949080 della Knowledge Base all'indirizzo https://go.microsoft.com/fwlink/?LinkID=154563.
Librerie supportate
A partire da SQL Server 2005, in SQL Server è disponibile un elenco di librerie .NET Framework supportate, che sono state testate per verificare che rispettino gli standard di sicurezza e di affidabilità per l'interazione con SQL Server. Le librerie supportate non devono essere registrate in modo esplicito nel server prima che possano essere utilizzate nel codice. SQL Server consente di caricarle direttamente dalla Global Assembly Cache (GAC).
Le librerie e gli spazi dei nomi supportati dall'integrazione con CLR in SQL Server sono:
CustomMarshalers
Microsoft.VisualBasic
Microsoft.VisualC
mscorlib
System
System.Configuration
System.Data
System.Data.OracleClient
System.Data.SqlXml
System.Deployment
System.Security
System.Transactions
System.Web.Services
System.Xml
System.Core.dll
System.Xml.Linq.dll
Librerie non supportate
Le librerie non supportate possono essere comunque chiamate da stored procedure gestite, trigger, funzioni definite dall'utente, tipi definiti dall'utente e funzioni di aggregazione definite dall'utente. La libreria non supportata deve essere prima registrata nel database di SQL Server utilizzando l'istruzione CREATE ASSEMBLY prima che possa essere utilizzata nel codice. È necessario verificare e testare la sicurezza e l'affidabilità delle librerie non supportate registrate ed eseguite nel server.
Lo spazio dei nomi System.DirectoryServices non è ad esempio supportato. È necessario registrare l'assembly System.DirectoryServices.dll con le autorizzazioni UNSAFE prima che sia possibile chiamarlo dal codice. L'autorizzazione UNSAFE è necessaria perché le classi nello spazio dei nomi System.DirectoryServices non soddisfano i requisiti per SAFE o EXTERNAL_ACCESS. Per ulteriori informazioni, vedere Restrizioni relative al modello di programmazione dell'integrazione con CLR e Sicurezza da accesso di codice dell'integrazione con CLR.