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 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 aggiornano assembly non supportati nella Global Assembly Cache (GAC), l'applicazione SQL Server potrebbe smettere di funzionare. 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 verificherà 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 l'articolo della Knowledge Base 949080.

Librerie supportate

A partire da SQL Server 2005 (9.x), 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:

  • CustomMarshalers
  • Microsoft.VisualBasic
  • Microsoft.VisualC
  • mscorlib
  • Sistema
  • System.Configuration
  • System.Core
  • System.Data
  • System.Data.OracleClient
  • System.Data.SqlXml
  • System.Deployment
  • System.Security
  • System.Transactions
  • System.Web.Services
  • System.Xml
  • System.Xml.Linq

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 che possa essere usata 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 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 dell'integrazione CON CLR e Sicurezza dell'accesso al codice di integrazione CLR.

Vedi anche

Creazione di un assembly
Sicurezza dall'accesso di codice dell'integrazione con CLR
Restrizioni relative al modello di programmazione dell'integrazione con CLR