Condividi tramite


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.