Sintomi
Considerare lo scenario descritto di seguito:
-
È disponibile una funzione CLR SQL in SQL Server 2016 e 2017.
-
La funzione CLR richiama 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:
Msg 6522, Livello 16, Stato 1, NomeProdistanza Routine, Riga 0 [Batch Start LineNumber]
Si è verificato un errore di .NET Framework durante l'esecuzione della routine definita dall'utente o dell'aggregazione "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 sui Service Pack per SQL Server 2016
Questo problema è stato risolto nel Service Pack seguente per SQL Server:
Informazioni sulle build di SQL Server 2017
Ogni nuova build per SQL Server 2017 contiene tutti gli aggiornamenti rapidi e le correzioni per la sicurezza inclusi nella build precedente. È consigliabile installare la build più recente per SQL Server 2017.
I Service Pack sono cumulativi. Ogni nuovo Service Pack contiene tutte le correzioni incluse nei Service Pack precedenti, insieme a 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. Usare la tabella 1 nell'articolo seguente per trovare altre informazioni sull'ultimo Service Pack e sull'aggiornamento cumulativo più recente.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.