Le query del server collegato che usano MSDASQL hanno esito negativo con errore 7416

si applica a:

  • Aggiornamenti CU e GDR di SQL Server 2025 da aprile 2026
  • Aggiornamenti CU e GDR di SQL Server 2022 da marzo 2026
  • Aggiornamenti CU e GDR di SQL Server 2019 da aprile 2026
  • Aggiornamenti CU e GDR di SQL Server 2017 da aprile 2026
  • aggiornamenti GDR di SQL Server 2016 SP3 e Azure Connect Pack a partire da aprile 2026
  • Istanza gestita di SQL di Azure (Istanza gestita di Azure SQL)

Sommario

Questo articolo descrive un problema noto per cui le query del server collegato che usano il provider MSDASQL (provider OLE DB per driver ODBC) e specificano una stringa del provider non riescono e generano l'errore 7416. L'articolo fornisce anche soluzioni alternative che consentono di ripristinare la connettività del server collegato senza eseguire il rollback dell'aggiornamento.

Symptoms

Le query del server collegato che usano il MSDASQL provider e specificano una stringa del provider (@provstr) hanno esito negativo e restituiscono il messaggio di errore seguente quando un utente che non è membro del ruolo predefinito del server sysadmin esegue la query:

Messaggio 7416, livello 16
L'accesso al server remoto è stato negato perché non esiste alcun mapping degli account di accesso.

L'errore può verificarsi anche se il server collegato e i mapping di accesso sono configurati correttamente.

Motivo

Un controllo di convalida delle connessioni più rigoroso nel motore di database può rifiutare le connessioni per determinate configurazioni del server collegato che usano il provider MSDASQL, anche se le compilazioni precedenti hanno consentito tali connessioni.

Soluzione

Per risolvere questo problema senza eseguire il rollback dell'aggiornamento, usare uno dei metodi seguenti:

  • Se la configurazione non richiede la stringa del provider (@provstr), rimuoverla dalla definizione del server collegato.
  • Aggiungere una User ID voce nella stringa del provider (@provstr). Ad esempio, impostare User ID=<value>. Anche la stringa del provider deve includere UID .

È anche possibile evitare l'errore concedendo autorizzazioni sysadmin all'utente interessato. Tuttavia, non è consigliabile usare questo metodo.