Microsoft distribuisce Microsoft SQL Server 2005, Microsoft SQL Server 2008 e Microsoft SQL Server 2008 R2 come un file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi in SQL Server 2005, Microsoft SQL Server 2008 e SQL Server 2008 R2 Fix Release.La correzione descritta in questo articolo è disponibile per le versioni seguenti di SQL Server:
-
Microsoft SQL Server 2005 Service Pack 3 (SP3)
-
Microsoft SQL Server 2005 Service Pack 4 (SP4)
-
Microsoft SQL Server 2008 Service Pack 1 (SP1)
-
Microsoft SQL Server 2008 Service Pack 2 (SP2)
Sintomi
Considerare lo scenario descritto di seguito:
-
Si crea un server collegato in un computer in cui è in uso Microsoft SQL Server 2005, Microsoft SQL Server 2008 o Microsoft SQL Server 2008 R2. Il server collegato punta a un'origine dati OLE DB in un server remoto.
-
Si crea un sinonimo per una tabella nel server collegato.
-
Si crea una funzione definita dall'utente che usa il sinonimo oppure si crea una visualizzazione che usa il sinonimo. Esegui quindi una query in base alla funzione definita dall'utente o alla visualizzazione.Nota Quando si esegue la query, un piano di esecuzione viene memorizzato nella cache.
-
Si esegue un'operazione su un server remoto per aggiornare la versione dello schema della tabella nel server collegato. Ad esempio, Ricostruisci l'indice della tabella nel server remoto per aggiornare la versione dello schema della tabella nel server collegato.
-
È possibile eseguire un'altra query in base alla funzione definita dall'utente o alla visualizzazione.
In questo scenario viene visualizzato un messaggio di errore simile al seguente:
Server: Msg 7359, numero livello livello,stato stato, numerolinealinea il provider OLE DB "nomeprovider" per il server collegato "nome del server collegato" ha segnalato una modifica della versione dello schema tra la fase di compilazione ("tempo di compilazione") e la fase di esecuzione ("fase diesecuzione") per la tabella "nome tabella collegata".
Nota il nome del provider è un segnaposto che rappresenta il nome del provider OLE DB. Il nome della tabella collegata è un segnaposto che rappresenta il nome della tabella che si trova nel server collegato.
Causa
Questo problema si verifica perché il piano di esecuzione esistente non viene deselezionato correttamente. In questo modo la versione dello schema cambierà, perché la funzione definita dall'utente o la visualizzazione viene ricompilata quando viene eseguita la seconda query. Si verifica quindi l'errore.
Risoluzione
Informazioni sull'aggiornamento cumulativo
SQL Server 2008 R2 Service Pack 1
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 1 per SQL Server 2008 R2 Service Pack 1. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
2544793 Pacchetto di aggiornamento cumulativo 1 per SQL Server 2008 R2 Service Pack 1Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 R2 Fix. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
2567616 Le build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2 Service Pack 1
SQL Server 2008 R2
La correzione di questo problema è stata rilasciata per la prima volta nell'aggiornamento cumulativo 7. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008 R2, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:
2507770 Pacchetto di aggiornamento cumulativo 7 per SQL Server 2008 R2 Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 R2 Fix. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
981356 Build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2
Per SQL Server 2005 SP3
La correzione di questo problema è stata rilasciata per la prima volta nell'aggiornamento cumulativo 15. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2005 SP3, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:
2507766 Pacchetto di aggiornamento cumulativo 15 per SQL Server 2005 SP3 Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2005 SP3 FIX. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
960598 Build di SQL Server 2005 rilasciate dopo il rilascio di SQL Server 2005 SP3
Per SQL Server 2005 SP4
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 3. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2005 SP4, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:
2507769 Pacchetto di aggiornamento cumulativo 3 per SQL Server 2005 SP4Nota Poiché le compilazioni sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2005 SP4 FIX. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
937137 Build di SQL Server 2005 rilasciate dopo il rilascio di SQL Server 2005 SP4
Per SQL Server 2008 SP1
La correzione di questo problema è stata rilasciata per la prima volta nell'aggiornamento cumulativo 13. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008 SP1, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:
2497673 Pacchetto di aggiornamento cumulativo 13 per SQL Server 2008 SP1 Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 SP1 FIX. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
970365 Build di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 SP1
Per SQL Server 2008 SP2
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 3. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008 SP2, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:
2498535 Pacchetto di aggiornamento cumulativo 3 per SQL Server 2008 SP2Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 SP2 Fix. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
2402659 Build di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 SP2
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Ulteriori informazioni
Per altre informazioni su come usare Transact-SQL per creare un sinonimo, visitare il seguente sito Web Microsoft Developer Network (MSDN):