Si applica a
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Workgroup

Microsoft distribuisce le correzioni di Microsoft SQL Server 2008 come unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli aggiornamenti rapidi e tutte le correzioni per la sicurezza inclusi nella versione precedente della correzione SQL Server 2008.

Sintomi

In un computer che esegue Microsoft SQL Server 2008 si verifica uno o più dei problemi seguenti quando si crea un server collegato usando il provider SQL Native Client (Sqlncli.dll).Nota Questi problemi si verificano anche in Microsoft SQL Server 2005 Service Pack 3 (SP3). Tuttavia, l'aggiornamento rapido in questo articolo non si applica a SQL Server 2005 SP3.

Problema 1

Considerare lo scenario descritto di seguito:

  • In SQL Server Management Studio si apre la finestra Nuovo server collegato e si crea un server collegato utilizzando una delle configurazioni seguenti:

    • Provider SQL Native Client con tipo di server come SQL Server

    • Provider SQL Native Client (non SQL Native Client 10) con tipo di server come Altra origine dati

    • Provider Microsoft OLE DB per SQL Server con tipo di server come Altra origine dati

  • Espandere il catalogo server collegati in SQL Server Management Studio per visualizzare i server collegati.

In questo scenario, il servizio SQL Server si arresta in modo imprevisto o viene generato ripetutamente un file mini dump nella cartella del log degli errori SQL Server. Questo problema persiste fino all'interruzione del servizio SQL Server. Inoltre, SQL Server Management Studio segnala l'errore seguente:TITLE: Microsoft SQL Server Management Studio------------------------------Failed per recuperare i dati per questa richiesta. (Microsoft.SqlServer.Management.Sdk.Sfc)Per assistenza, fare clic su: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476------------------------------ADDITIONAL INFORMATION:Si è verificata un'eccezione durante l'esecuzione di un batch o un'istruzione Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)------------------------------Timeout scaduto. Il periodo di timeout trascorso prima del completamento dell'operazione o il server non risponde. (Microsoft SQL Server, errore: -2)Nota Questo problema non si verifica se si esegue una query server collegata quando si utilizza il provider SQL Native Client con tipo di server come SQL Server.

Problema 2

Considerare lo scenario descritto di seguito:

  • Per creare un server collegato, usare il provider Microsoft OLE DB per i driver ODBC.

  • L'origine dati ODBC viene creata usando il provider SQL Native Client con tipo server come Altra origine dati.

In questo scenario, il server collegato non restituisce alcun risultato.

Risoluzione

La correzione di questo problema è stata rilasciata per la prima volta nell'aggiornamento cumulativo 7 per SQL Server 2008 Service Pack 1. Per ulteriori informazioni su questo pacchetto di aggiornamento cumulativo, fai clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base: -

979065Pacchetto di aggiornamento cumulativo 7 per SQL Server 2008 Service Pack 1 NotaPerché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli aggiornamenti rapidi e tutte le correzioni per la sicurezza inclusi nella versione precedente delle correzioni di SQL Server 2008. È consigliabile applicare la versione più recente di correzione che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base: -

970365Le build SQL Server 2008 rilasciate dopo il rilascio del service pack 1 del SQL Server 2008 Microsoft SQL Server 2008 vengono create per specifici Service Pack SQL Server. È necessario applicare un hotfix di SQL Server 2008 Service Pack 1 a un'installazione di SQL Server 2008 Service Pack 1. Per impostazione predefinita, qualsiasi aggiornamento rapido fornito in un Service Pack di SQL Server è incluso nel service pack di SQL Server successivo.

Ulteriori informazioni

È possibile verificare la versione dei file di Sqlncli.dll e Sqlservr.exe eseguendo la query seguente:

select * from sys.dm_os_loaded_modules where name like '%sqlncli.dll' or name like '%sqlservr.exe'

Se si usa Microsoft SQL Server 2008 Service Pack 1 (SP1) o versioni successive di Microsoft SQL Server 2008, la query restituirà le informazioni sulla versione seguenti:

  • Il file Sqlncli.dll avrà una versione successiva alla 9.0:3207.0.

  • Il file Sqlservr.exe avrà una versione successiva o uguale a 10.0:2531.0, ma prima della 10.0:2766.0.

Se si usa Microsoft SQL Server 2008 RTM o versioni successive di SQL Server 2008 RTM, la query restituirà le informazioni sulla versione seguenti:

  • Il file Sqlncli.dll avrà una versione successiva alla 9.0:3207.0.

  • Il file Sqlservr.exe avrà una versione successiva o uguale a 10.0:1600.0, ma prima della 10.0:1835.0.

Soluzione alternativa

Per risolvere questi problemi, seguire questa procedura:Soluzione alternativa 1:1.     Eliminare il server collegato che ha esito negativo.2.     Creare un nuovo server collegato usando il provider di SQL Server Native Client 10.0 (SQLNCLI10). Per eseguire questa operazione: a. Fare clic con il pulsante destro del mouse su Server collegati e scegliere Nuovo server collegato. B. Selezionare Altra origine dati e scegliere SQL Server Native Client 10.0 per Provider.Soluzione alternativa 2:

  1. Creare una sottochiave del Registro di sistema denominata "SQLNCLI" nel percorso seguente:

    HKLM\Software\Microsoft\DataAccess

  2. Creare una voce del Registro di sistema di tipo REG_DWORD denominata "SQLOSPartitioning" in questa sottochiave.

  3. Impostare il valore di questa voce su 0x0.

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Ulteriori informazioni

Software per regole

Titolo della regola

Descrizione della regola

Versioni del prodotto in base alle quali viene valutata la regola

System Center Advisor

SQL Server KB979779 di aggiornamento mancante per impedire il danneggiamento della memoria del client nativo SQL

In questo server è presente un provider SQL Native Client che corrisponde a SQL Server 2005. Questa versione precedente di SQLNCLI.dll potrebbe essere potenzialmente caricata in SQL Server 2008 e SQL Server 2008 R2 durante l'enumerazione dei provider e la creazione di server collegati. Build specifiche di SQL Server 2008 e SQL Server 2008 R2 possono riscontrare problemi e blocchi durante la creazione o l'utilizzo di un server collegato creato con questo SQLNCLI.dll interessato. Aggiornare le istanze interessate di SQL Server 2008 e SQL Server 2008 R2 con le correzioni necessarie o evitare di usare questo SQLNCLI.dll durante la creazione di server collegati.

SQL Server 2008 SQL Server 2008 R2

Riferimenti

Per altre informazioni sul modello di manutenzione incrementale per SQL Server, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:

935897 Un modello di manutenzione incrementale è disponibile dal team SQL Server per fornire aggiornamenti rapidi per i problemisegnalati Per altre informazioni sullo schema di denominazione per gli aggiornamenti SQL Server, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:

822499Nuovo schema di denominazione per Microsoft SQL Server pacchettidi aggiornamenti software Per altre informazioni sulla terminologia di aggiornamento software, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:

824684 Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.