FIX: File di dati del Database potrebbero essere erroneamente contrassegnati come sparse in SQL Server 2008 R2 o in SQL Server 2008 anche quando i file fisici sono contrassegnati come non sparse nel file system

BUG #: 147332 (manutenzione del contenuto)VSTS: 699009

Microsoft distribuisce Microsoft SQL Server 2008 R2 o correzioni di Microsoft SQL Server 2008 come un unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutte le correzioni rilasciate con SQL Server 2008 o SQL Server 2008 R2 precedente correggere rilascio.

Sintomi

Microsoft SQL Server 2008 R2 o Microsoft SQL Server 2008 potrebbe contrassegnare il file di dati di database come sparse anche quando i file fisici sono contrassegnati come non sparse nel file system.

Note

  • Per determinare se i file di dati del database vengono contrassegnati come sparse nei metadati di SQL Server, eseguire l'istruzione seguente e quindi controllare se la colonna Is_Sparse è impostata su un valore diverso da zero nel set di risultati:

    Use 

    <database name>select is_sparse , physical_name from sys.database_files

  • Per interrogare lo stato dei file fisici nel file system, eseguire il seguente comando di Windows dopo che il database è offline:

    fsutil sparse queryflag 
    <files path>\<database file>

    Se viene visualizzato il seguente output, il file è contrassegnato come sparse nel file system:

    Questo file è impostato come sparse.

  • Sia i metadati di SQL Server e i metadati del file system deve essere contrassegnati come sparse per solo dati file di database che fanno parte di uno snapshot di database.

Causa

Questo problema si verifica perché il file system contrassegna erroneamente un file di dati di tutto il database come sparse dopo un flusso alternativo che originariamente è stato contrassegnato come sparse viene rimosso. Il flusso alternativo viene rimossa al termine di un comando DBCC CHECKDB .

Note

  • Utilizzo di Snapshot di Database interno è una funzionalità NTFS utilizzata dalla famiglia di comandi DBCC CHECKDB . Quando si eseguono comandi DBCC , il motore di database crea un flusso alternativo snapshot di database e viene visualizzato in uno stato coerente transazionale. Il comando DBCC esegue i controlli in base al flusso alternativo. Il flusso alternativo viene eliminato al termine il comando DBCC .

  • La struttura che causa questo problema è stato introdotto in Windows Server 2003 in cui i backup a livello di volume di Windows vengono utilizzati per eseguire il backup dei file di database. Metadati di SQL Server archivia una copia degli attributi di tipo sparse per i file di dati nelle tabelle di sistema. Tuttavia, SQL Server non aggiorna le informazioni di Is_Sparse dopo l'attributo sparsa viene rimosso dal file system.

  • Questo problema si verifica anche dopo la migrazione di un database da Windows Server 2003 a una versione successiva di un sistema operativo Windows.

    Ad esempio, la migrazione dei database da Windows Server 2003 a Windows Server 2008 o Windows Server 2008 R2.

Risoluzione

Per risolvere questo problema in SQL Server 2008 R2 o in SQL Server 2008, applicare la seguente correzione rapida e quindi portare in linea del database. Quando il database viene portato in linea, SQL Server verifica se i metadati del file di database fisico sono contrassegnato come sparse nel file system. Se è contrassegnato come non di tipo sparse, i metadati di SQL Server viene aggiornato.

Nota: Per rimuovere gli attributi di tipo sparse dal file system, copiare i file di database e quindi utilizzare la nuova copia dei file per il database. Per ulteriori informazioni su questo processo, visitare il seguente sito Web MSDN:

Come rimuovere gli attributi di tipo sparsi dal file system

Informazioni sull'aggiornamento cumulativo

SQL Server 2008 Service Pack 3

La correzione di questo problema è stata rilasciata prima nel pacchetto di aggiornamento cumulativo 1 per SQL Server 2008 Service Pack 3. Per ulteriori informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

2617146 cumulativo aggiornamento 1 per SQL Server 2008 Service Pack 3Nota: Poiché le versioni sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e rilascio delle correzioni per tutte le correzioni fornite con il precedente 2008 di SQL Server. Microsoft consiglia di considerare l'applicazione alla versione più recente di correzione contenente tale hotfix. Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

2629969 versioni di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 3Aggiornamenti rapidi di Microsoft SQL Server 2008 vengono creati per service pack specifici di SQL Server. È necessario applicare un hotfix di SQL Server 2008 Service Pack 3 per un'installazione di SQL Server 2008 Service Pack 3. Per impostazione predefinita, qualsiasi hotfix fornito in un service pack di SQL Server è incluso nel prossimo service pack di SQL Server.

SQL Server 2008 Service Pack 1

La correzione di questo problema è stata rilasciata prima nel pacchetto di aggiornamento cumulativo 16 per SQL Server 2008 Service Pack 1. Per ulteriori informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

2582282 cumulativo aggiornamento 16 per SQL Server 2008 Service Pack 1Nota: Poiché le versioni sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e rilascio delle correzioni per tutte le correzioni fornite con il precedente 2008 di SQL Server. Microsoft consiglia di considerare l'applicazione alla versione più recente di correzione contenente tale hotfix. Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

970365 versioni di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 1Aggiornamenti rapidi di Microsoft SQL Server 2008 vengono creati per service pack specifici di 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 hotfix fornito in un service pack di SQL Server è incluso nel prossimo service pack di SQL Server.

SQL Server 2008 Service Pack 2

La correzione di questo problema è stata rilasciata prima nel pacchetto di aggiornamento cumulativo 6 per SQL Server 2008 Service Pack 2. Per ulteriori informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

2582285 cumulativo aggiornamento 6 per SQL Server 2008 Service Pack 2Nota: Poiché le versioni sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e rilascio delle correzioni per tutte le correzioni fornite con il precedente 2008 di SQL Server. Microsoft consiglia di considerare l'applicazione alla versione più recente di correzione contenente tale hotfix. Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

2402659 versioni di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 2Aggiornamenti rapidi di Microsoft SQL Server 2008 vengono creati per service pack specifici di SQL Server. Un'installazione di SQL Server 2008 Service Pack 2, è necessario applicare un hotfix di SQL Server 2008 Service Pack 2. Per impostazione predefinita, qualsiasi hotfix fornito in un service pack di SQL Server è incluso nel prossimo service pack di SQL Server.

CU9 di SQL Server 2008 R2

La correzione di questo problema è stata rilasciata prima nel pacchetto di aggiornamento cumulativo 9 per SQL Server 2008 R2. Per ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo per SQL Server 2008 R2, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:

2567713 cumulativo 9 pacchetto di aggiornamento per SQL Server 2008 R2Nota: Poiché le versioni sono cumulative, ogni nuova versione contiene tutte le correzioni rapide e rilascio delle correzioni per tutte le correzioni fornite con il precedente di SQL Server 2008 R2. Si consiglia di considerare l'ipotesi di applicare la versione più recente contenente tale hotfix. Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

981356 di SQL Server 2008 R2 versioni rilasciate dopo il rilascio di SQL Server 2008 R2

SQL Server 2008 R2 Service Pack 1 CU2

La correzione di questo problema è stata rilasciata prima nel pacchetto di aggiornamento cumulativo 2. Per ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo per SQL Server 2008 R2 SP1, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:

2567714 cumulativo aggiornamento 2 per SQL Server 2008 R2 Service Pack 1Nota: Poiché le versioni sono cumulative, ogni nuova versione contiene tutte le correzioni rapide e rilascio delle correzioni per tutte le correzioni di protezione che erano incluse nelle precedenti di SQL Server 2008 R2 SP1. Si consiglia di considerare l'ipotesi di applicare la versione più recente contenente tale hotfix. Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

2567616 di SQL Server 2008 R2 versioni rilasciate dopo il rilascio di SQL Server 2008 R2 Service Pack 1

Informazioni sull'hotfix

Un hotfix supportato è disponibile da Microsoft. Tuttavia, questo hotfix è destinato esclusivamente alla correzione del problema descritto in questo articolo. Applicare questo hotfix solo ai sistemi in cui si verifica il problema descritto in questo articolo. Questo hotfix potrebbe essere sottoposto ad ulteriori test. Se il problema non causa gravi difficoltà, si consiglia di attendere il successivo aggiornamento software contenente tale hotfix.

Se l'hotfix è disponibile per il download, è presente una sezione "Hotfix disponibile per il download" all'inizio di questo articolo della Knowledge Base. Se questa sezione non viene visualizzata, contattare il servizio clienti Microsoft e supporto tecnico per ottenere l'hotfix.

Nota: Se si verificano ulteriori problemi o se è necessaria attività di risoluzione aggiuntiva, potrebbe essere necessario creare una richiesta di assistenza separata. I costi di supporto normale verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare specifico hotfix in questione. Per un elenco completo dei numeri di telefono del servizio clienti Microsoft e supporto tecnico o per creare una richiesta di assistenza separata, visitare il seguente sito Web Microsoft:

http://support.microsoft.com/contactus/?ws=supportNota: Il modulo "Hotfix disponibile per il download" Visualizza le lingue per cui è disponibile l'hotfix. Se non viene visualizzata la lingua, è perché un aggiornamento rapido non è disponibile per tale lingua.

Prerequisiti

Per applicare questo hotfix, è necessario disporre di SQL Server 2008 R2 sia installato.

Richiesta di riavvio

Non è necessario riavviare il computer dopo avere applicato questo hotfix.

Informazioni sulla sostituzione dell'aggiornamento rapido

Questo hotfix non sostituisce un aggiornamento rapido precedentemente rilasciato.

Informazioni sui file

La versione globale di questo hotfix presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e ore dei file sono elencate in base al formato UTC (Coordinated Universal Time Coordinated). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e ora locale, utilizzare la scheda fuso orario nell'elemento di Data e ora nel Pannello di controllo.

Nome del file

Versione del file

Dimensione del file

Data

Ora

Piattaforma

Sqlservr.exe

2009.100.1800.0

121,829,216

08-Jul-2011

11:55

IA-64

Sqlservr.exe

2009.100.1800.0

62,027,616

08-Jul-2011

12:28

x64

Sqlservr.exe

2009.100.1800.0

42,911,584

08-Jul-2011

13:22

x86

Stato

Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".

Ulteriori informazioni

Nella tabella seguente fornisce ulteriori informazioni su prodotti o strumenti che automaticamente per verificare questa condizione sull'istanza di SQL Server e sulle versioni del prodotto SQL Server su cui viene valutata la regola.

Software di regola

Titolo regola

Descrizione della regola

Versioni del prodotto per la quale viene valutata la regola

System Center Advisor

File di database di SQL Server contrassegnati come file di tipo sparse


System Center consente di verificare se questa istanza di SQL Server contiene i file di database che sono contrassegnati come di tipo sparse. Solo i file di snapshot di database devono essere contrassegnati come file. Se il file di database normale sono contrassegnato come sparse, Advisor genera un avviso. Advisor è basato sulla colonna is_sparse nella vista del catalogo sys. master_files. Esaminare i dettagli sono disponibili nella sezione "Le informazioni raccolte" dell'avviso advisor e controllare lo stato di tipo sparsa al livello del sistema operativo per i file interessati. Dopo l'annullamento, lo stato di tipo sparsa del sistema operativo, è possibile applicare l'aggiornamento rapido descritto in questo articolo per aggiornare i metadati di SQL Server e la sincronizzazione con le impostazioni del sistema operativo.

SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Riferimenti

Per ulteriori informazioni sui comandi DBCC, visitare il seguente sito Web MSDN:

Informazioni generali sui comandi DBCCPer ulteriori informazioni sull'istruzione Fsutil , visitare il seguente sito Web MSDN:

Informazioni generali sull'istruzione FsutilPer ulteriori informazioni su questo problema in Windows Server 2003, fare clic sui numeri per visualizzare gli articoli della Microsoft Knowledge Base riportato di seguito:

973886 quando vengono eliminati tutti i flussi di dati che dispongono degli attributi di tipo sparsi, la versione a 64 bit di Windows XP SP2 o Windows Server 2003 SP2 non è possibile ripristinare i file di grandi dimensioni del file system NTFS

932021 messaggio di errore quando si esegue il comando "chkdsk" con la "/ v" passare in un computer basato su Windows Server 2003: "Correcting sparse segmento record file < numero >"

Autore: rdorr; jannaw; sureshka
Autore: v-allzhu; v-jayc
Revisore tecnico: rdorr; jannaw
Editor: v-lynan

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×