Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Numero KB originale: 2555855
Summary
Questo articolo illustra come risolvere gli errori del provider OLE DB che si verificano quando si eseguono query T-SQL tramite server linked server o query ad hoc usando OPENROWSET o OPENDATASOURCE in Microsoft SQL Server. Questi errori indicano in genere che il provider OLE DB non è installato, non è registrato o non corrisponde all'architettura SQL Server.
Symptoms
Quando si eseguono query T-SQL che usano server collegati o query ad hoc (usando OPENROWSET o OPENDATASOURCE), è possibile che venga visualizzato uno dei messaggi di errore seguenti:
Il provider OLE DB "<ProviderName>" non è stato registrato. (Microsoft SQL Server, Errore: 7403)
Impossibile creare un'istanza del provider OLE DB "<ProviderName>" per il server collegato "<LinkedServerName>". (Microsoft SQL Server, Errore: 7302)
Questi errori possono verificarsi anche dopo che hai eseguito:
- Eseguire la migrazione di SQL Server da un computer a un altro.
- Ripristinare il
masterdatabase da un server diverso.
Motivo
SQL Server non è possibile inizializzare il provider OLE DB specificato per uno dei motivi seguenti:
- Il provider OLE DB o il driver non è installato nel server.
- Il provider installato non corrisponde al SQL Server bitness (x86 e x64).
- Il provider OLE DB è installato ma non registrato correttamente.
Annotazioni
Quando si crea un server collegato usando sp_addlinkedserver, SQL Server non segnala immediatamente errori correlati alla disponibilità del provider. Questi errori vengono visualizzati solo quando si esegue una query che usa il server collegato.
Soluzione
Per risolvere il problema, seguire la procedura descritta in ogni sezione nell'ordine specificato.
Verificare i provider o i driver OLE DB installati
Verificare quali provider o driver OLE DB sono registrati nell'istanza di SQL Server usando uno dei metodi seguenti:
In SQL Server Management Studio (SSMS) espandere Server Objects>Linked Servers>Providers per visualizzare l'elenco di provider o driver OLE DB registrati.
Eseguire la query seguente per visualizzare tutti i server collegati definiti e i relativi provider o driver associati:
SELECT * FROM sys.servers;Per altre informazioni sulle colonne restituite, vedere sys.servers (Transact-SQL).
Verificare l'installazione del provider o del driver
Verificare che il provider OLE DB corretto sia installato e corrisponda all'architettura di SQL Server:
Controllare se il provider richiesto dal server collegato è presente nell'elenco dei provider in Verificare i provider o i driver OLE DB installati.
Se il provider non è presente, installarlo:
- For Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL): Scaricare la versione più recente dalla pagina di download del driver OLE DB Microsoft.
- Per provider o driver di terze parti: Contattare il fornitore per ottenere il programma di installazione corretto.
Assicurarsi che la versione del provider corrisponda all'architettura SQL Server. Ad esempio, installare il provider a 64 bit per un'istanza di SQL Server a 64 bit.
Per altri metodi per verificare il provider, vedere Controllo dell'installazione del driver OLE DB.
Registrare il provider OLE DB
Se la DLL del provider esiste su disco ma non è registrata, reinstallare il provider o il driver seguendo la procedura descritta in Verificare il provider o l'installazione del driver. La reinstallazione garantisce che la DLL sia registrata correttamente.
Verificare la connettività del provider
Usare un file UDL (Universal Data Link) per verificare che il provider OLE DB possa connettersi all'origine dati di destinazione:
- Creare un nuovo file di test .udl.
- Fare doppio clic sul file .udl per aprire la finestra di dialogo Proprietà del collegamento dati.
- Selezionare la scheda Provider e scegliere il provider OLE DB dall'elenco.
- Nella scheda Connessione immettere il nome del server e i dettagli di autenticazione.
- Selezionare Test connessione per verificare la connettività.
Per i passaggi dettagliati, vedere Test connettività OLE DB a SQL Server usando un file UDL.
Contenuti correlati
- Creare server collegati (SQL Server Database Engine)
- Driver OLE DB per SQL Server
- sp_addlinkedsrvlogin (Transact-SQL)
Clausola di esclusione della responsabilità per informazioni di terze parti
I prodotti di terze parti illustrati in questo articolo sono prodotti da aziende indipendenti da Microsoft. Microsoft non garantisce, implicitamente o altrimenti, circa le prestazioni o l'affidabilità di questi prodotti.