Condividi tramite


Librerie .NET Framework supportate

Si applica a:SQL Server

Con Common Language Runtime (CLR) ospitato 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 funzionalità disponibili nelle librerie di classi .NET Framework, è possibile accedere alle classi predefinite che forniscono funzionalità per la manipolazione delle stringhe, operazioni matematiche avanzate, accesso ai file, crittografia e altro ancora. 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.

Se si esegue il servizio o si aggiornano assembly non supportati nella Global Assembly Cache (GAC), l'applicazione SQL Server può interrompere il funzionamento. Ciò è dovuto al fatto che la manutenzione o l'aggiornamento delle librerie nella GAC non aggiorna tali assembly all'interno di SQL Server. Se un assembly esiste sia in un database di SQL Server che nella GAC, le due copie dell'assembly devono corrispondere esattamente. Se non corrispondono, si verifica un errore quando l'assembly viene usato dall'integrazione CLR di SQL Server. Se si esegue il servizio o si aggiornano gli assembly nella GAC registrati anche nel database, inclusi gli assembly .NET Framework non supportati, assicurarsi di eseguire anche il servizio o aggiornare la copia dell'assembly all'interno dei database di SQL Server con l'istruzione ALTER ASSEMBLY. Per altre informazioni, vedere MSSQLSERVER_6522.

Librerie supportate

SQL Server include un elenco di librerie .NET Framework supportate testate per garantire che soddisfino gli standard di affidabilità e sicurezza per l'interazione con SQL Server. Le librerie supportate non devono essere registrate in modo esplicito nel server prima che possano essere usate nel codice; SQL Server li carica direttamente dalla Global Assembly Cache (GAC).

Le librerie/spazi dei nomi supportati dall'integrazione CLR in SQL Server sono:

  • mscorlib.dll
  • CustomMarshalers.dll
  • Microsoft.VisualBasic.dll
  • Microsoft.VisualC.dll
  • System.Configuration.dll
  • System.Core.dll
  • System.Data.OracleClient.dll
  • System.Data.SqlXml.dll
  • System.Data.dll
  • System.Deployment.dll
  • System.Security.dll
  • System.Transactions.dll
  • System.Web.Services.dll
  • System.Xml.Linq.dll
  • system.Xml.dll
  • System.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 registrata prima nel database di SQL Server, usando l'istruzione CREATE ASSEMBLY, prima di poterla usare nel codice. È necessario verificare e testare la sicurezza e l'affidabilità delle librerie non supportate registrate ed eseguite nel server.

Ad esempio, lo spazio dei nomi System.DirectoryServices non è supportato. È necessario registrare l'assembly System.DirectoryServices.dll con autorizzazioni di UNSAFE prima di poterlo chiamare 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 altre informazioni, vedere restrizioni del modello di programmazione di integrazione CLR e clr integration Code Access Security.