Sintomi
Si consideri lo scenario seguente:
- È disponibile una funzione CLR SQL in SQL Server 2016 e 2017.
- La funzione CLR richiama le istruzioni Transact-SQL tramite chiamate di rappresentazione, ad esempio chiamando l'istruzione EXECUTE AS.
In questo scenario, l'esecuzione non riesce e viene visualizzato il seguente messaggio di errore:
Nota
- Messaggio 6522, livello 16, stato 1, procedura PrcedureName, riga 0 [Inizio batch riga LineNumber]
- Si è verificato un errore di .NET Framework durante l'esecuzione di una routine definita dall'utente o di un aggregato "ProcedureName":
- System.Data.SqlClient.SqlException: l'entità server "LoginName" non è in grado di accedere al database "DatabaseName" nel contesto di sicurezza corrente.
Risoluzione
Questa correzione è inclusa nell'aggiornamento cumulativo 1 per SQL Server 2017.
Informazioni sul Service Pack per SQL Server 2016
Questo problema è stato risolto nel seguente Service Pack per SQL Server:
Service Pack 2 per SQL Server 2016
Informazioni sulle build di SQL Server 2017
Ogni nuova build di SQL Server 2017 contiene tutti gli hotfix e le correzioni della sicurezza presenti nella build precedente. È consigliabile installare la build più recente per SQL Server 2017.
Informazioni sui Service Pack per SQL Server:
I service pack sono cumulativi. Ogni nuovo service pack contiene tutte le correzioni presenti nei service pack precedenti, nonché le eventuali nuove correzioni. È consigliabile applicare il service pack più recente e l'aggiornamento cumulativo più recente per tale service pack. Non è necessario installare un Service Pack precedente prima di installare il Service Pack più recente. Utilizzare la tabella 1 dell'articolo seguente per trovare altre informazioni sul Service Pack più recente e sull'aggiornamento cumulativo più recente.
Stato
Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.