FIX: Databasebestanden gegevens mogelijk onjuist gemarkeerd als verspreid in SQL Server 2008 R2 of in SQL Server 2008 zelfs wanneer de fysieke bestanden zijn gemarkeerd als niet verspreid in het bestandssysteem

Van toepassing: SQL Server 2008 R2 DeveloperSQL Server 2008 R2 EnterpriseSQL Server 2008 R2 Express

Microsoft verstrekt Microsoft SQL Server 2008 R2 of Microsoft SQL Server 2008 fixes als één downloadbaar bestand. Aangezien de oplossingen cumulatief zijn, elke nieuwe versie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige SQL Server 2008 of SQL Server 2008 R2 zijn release opgelost.

Symptomen


Microsoft SQL Server 2008 R2 of Microsoft SQL Server 2008 mogelijk database gegevensbestanden markeren als een verspreid zelfs wanneer de fysieke bestanden zijn gemarkeerd als niet verspreid in het bestandssysteem.

Opmerkingen
  • Voer de volgende instructie om te bepalen of de databasebestanden zijn gemarkeerd als verspreid in de metagegevens van SQL Server, en controleer vervolgens of de kolom Is_Sparse is ingesteld op een andere waarde in de resultaatset:
    Use 
    <database name>
    select is_sparse , physical_name from sys.database_files
  • Om de status van de fysieke bestanden opvragen in het bestandssysteem, de volgende opdracht voor Windows worden uitgevoerd nadat de database off line is:
    fsutil sparse queryflag 
    <files path>\<database file>
    Als u de volgende uitvoer ontvangt, wordt het bestand gemarkeerd als verspreid in het bestandssysteem:
    Dit bestand is ingesteld als verspreid.
  • Zowel de SQL Server metagegevens en de metagegevens van het bestand systeem moeten worden gemarkeerd als verspreid voor alleen databases gegevens die deel van een momentopname van de database uitmaken.

Oorzaak


Dit probleem treedt op omdat het bestandssysteem een gehele database als een verspreid bestand na een alternatieve gegevensstroom die werd oorspronkelijk gemarkeerd markeert als verspreid wordt verwijderd. De alternatieve gegevensstroom wordt verwijderd wanneer een opdracht DBCC CHECKDB eindigt.

Opmerkingen
  • Gebruik van interne Database momentopname is een NTFS-functie die wordt gebruikt door de familie DBCC CHECKDB van opdrachten. Wanneer u DBCC -opdrachten uitvoert, wordt de database-engine maakt een alternatieve gegevensstroom van database-momentopname en, wordt deze op een transactionele consistente status. De opdracht DBCC controles uitgevoerd tegen de alternatieve gegevensstroom. De alternatieve gegevensstroom wordt verwijderd nadat de DBCC -opdracht is voltooid.
  • Het ontwerp dat ervoor zorgt dit probleem dat werd geïntroduceerd in Windows Server 2003 waarin volumeniveau back-ups van Windows worden gebruikt voor back-up van databasebestanden. SQL Server metagegevens bevat een kopie van de verspreide kenmerken voor de gegevensbestanden in de systeemtabellen. SQL Server wordt echter niet de Is_Sparse informatie bijgewerkt nadat het kenmerk sparse is verwijderd uit het bestandssysteem.
  • Dit probleem doet zich voor nadat u een database van Windows Server 2003 hebt gemigreerd naar een nieuwere versie van een Windows-besturingssysteem.

    Bijvoorbeeld: u databases migreren van Windows Server 2003 naar Windows Server 2008 of Windows Server 2008 R2.

Oplossing


U lost dit probleem in SQL Server 2008 R2 of in SQL Server 2008, de volgende hotfix toepast en vervolgens de database on line te brengen. Wanneer de database on line wordt gebracht, wordt SQL Server controleert of de metagegevens van het fysieke bestand wordt gemarkeerd als verspreid in het bestandssysteem. Als deze is gemarkeerd als een niet verspreid, wordt de SQL Server metagegevens bijgewerkt.

Opmerking Kopieer de databasebestanden verspreid om kenmerken te verwijderen uit het bestandssysteem, en gebruik vervolgens de nieuwe kopie van de bestanden voor de database. Ga naar de volgende MSDN-website voor meer informatie over dit proces:

Cumulatieve update informatie

SQL Server 2008 servicepack 3

De correctie voor dit probleem werd voor het eerst uitgebracht in cumulatieve updatepakket 1 voor SQL Server 2008 Service Pack 3. Voor meer informatie over dit cumulatieve updatepakket klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
2617146 cumulatieve updatepakket 1 voor SQL Server 2008 Service Pack 3
Opmerking Omdat de opbouw cumulatief van opzet zijn, elke nieuwe versie van de correctie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige versie van SQL Server 2008 zijn release opgelost. Microsoft raadt u aan de toepassing van de meest recente hotfix-versie waarin deze hotfix is opgenomen. Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
2629969 met de SQL Server 2008 bouwt die zijn uitgebracht na Service Pack 3 voor SQL Server 2008 werd uitgebracht.
Hotfixes voor Microsoft SQL Server 2008 worden voor een specifieke servicepacks voor SQL Server gemaakt. U moet een hotfix voor SQL Server 2008 Service Pack 3 toepassen op een installatie van SQL Server 2008 Service Pack 3. Voor elke hotfix die wordt geleverd in een servicepack van SQL Server is standaard opgenomen in het volgende servicepack voor SQL Server.

SQL Server 2008 servicepack 1

De correctie voor dit probleem werd voor het eerst uitgebracht in cumulatieve updatepakket 16 voor SQL Server 2008 Service Pack 1. Voor meer informatie over dit cumulatieve updatepakket klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
2582282 cumulatieve updatepakket 16 voor SQL Server 2008 Service Pack 1
Opmerking Omdat de opbouw cumulatief van opzet zijn, elke nieuwe versie van de correctie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige versie van SQL Server 2008 zijn release opgelost. Microsoft raadt u aan de toepassing van de meest recente hotfix-versie waarin deze hotfix is opgenomen. Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
970365 met de SQL Server 2008 bouwt die zijn uitgebracht na Service Pack 1 voor SQL Server 2008 is uitgebracht
Hotfixes voor Microsoft SQL Server 2008 worden voor een specifieke servicepacks voor SQL Server gemaakt. U moet een hotfix voor SQL Server 2008 Service Pack 1 toepassen op een installatie van SQL Server 2008 Service Pack 1. Voor elke hotfix die wordt geleverd in een servicepack van SQL Server is standaard opgenomen in het volgende servicepack voor SQL Server.

SQL Server 2008 servicepack 2

De correctie voor dit probleem werd voor het eerst uitgebracht in cumulatieve updatepakket 6 voor SQL Server 2008 Service Pack 2. Voor meer informatie over dit cumulatieve updatepakket klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
2582285 cumulatieve updatepakket 6 voor SQL Server 2008 Service Pack 2
Opmerking Omdat de opbouw cumulatief van opzet zijn, elke nieuwe versie van de correctie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige versie van SQL Server 2008 zijn release opgelost. Microsoft raadt u aan de toepassing van de meest recente hotfix-versie waarin deze hotfix is opgenomen. Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
2402659 met de SQL Server 2008 bouwt die zijn uitgebracht nadat SQL Server 2008 Service Pack 2 is uitgebracht.
Hotfixes voor Microsoft SQL Server 2008 worden voor een specifieke servicepacks voor SQL Server gemaakt. U moet een SQL Server 2008 Service Pack 2 hotfix toepassen op een installatie van SQL Server 2008 Service Pack 2. Voor elke hotfix die wordt geleverd in een servicepack van SQL Server is standaard opgenomen in het volgende servicepack voor SQL Server.

SQL Server 2008 R2-CU9

De correctie voor dit probleem werd voor het eerst uitgebracht in cumulatief updatepakket 9 voor SQL Server 2008 R2. Voor meer informatie over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008 R2, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
2567713 cumulatief updatepakket 9 voor SQL Server 2008 R2
Opmerking Omdat de opbouw cumulatief van opzet zijn, elke nieuwe versie van de correctie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige SQL Server 2008 R2 zijn release opgelost. We raden het toepassen van de meest recente hotfix-versie waarin deze hotfix is opgenomen. Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
981356 bouwt de SQL Server 2008 R2 die zijn uitgebracht na de release van SQL Server 2008 R2

SQL Server 2008 R2 Service Pack 1 CU2

De correctie voor dit probleem werd voor het eerst uitgebracht in cumulatieve updatepakket 2. Voor meer informatie over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008 R2 SP1, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
2567714 cumulatieve updatepakket 2 voor SQL Server 2008 R2 Service Pack 1
Opmerking Omdat de opbouw cumulatief van opzet zijn, elke nieuwe versie van de correctie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige SQL Server 2008 R2 SP1 zijn release opgelost. We raden het toepassen van de meest recente hotfix-versie waarin deze hotfix is opgenomen. Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
2567616 bouwt de SQL Server 2008 R2 die zijn uitgebracht na Service Pack 1 voor SQL Server 2008 R2 is uitgebracht.

Informatie over de hotfix

Een ondersteunde hotfix is beschikbaar bij Microsoft. Deze hotfix is echter alleen bedoeld voor het probleem dat wordt beschreven in dit artikel. Voer deze hotfix alleen uit op systemen waarop de in dit artikel beschreven problemen zich voordoen. Deze hotfix moet wellicht extra worden getest. Als u geen ernstige hinder ondervindt van dit probleem, is het daarom raadzaam te wachten op de volgende update waarin deze hotfix is opgenomen.

Als de hotfix gedownload kan worden, is er een sectie 'Hotfix downloaden' aan het begin van dit Knowledge Base-artikel. Als deze sectie niet wordt weergegeven, neem dan contact op met Microsoft Customer Service and Support om de hotfix te verkrijgen.

Opmerking Als er andere problemen optreden of als probleemoplossing is vereist, moet u wellicht een apart serviceverzoek indienen. De normale ondersteuningskosten gelden voor extra ondersteuningsvragen en problemen die niet in aanmerking komen voor deze specifieke hotfix. Voor een volledige lijst met telefoonnummers van Microsoft Customer Service and Support of om een afzonderlijk serviceverzoek aan te maken, gaat u naar de volgende Microsoft-website:
Opmerking Het formulier 'Hotfix kan worden gedownload' geeft de talen weer waarvoor de hotfix beschikbaar is. Als uw taal niet wordt weergegeven, is dit omdat een hotfix niet voor die taal beschikbaar is.

Vereisten

Deze hotfix moet u SQL Server 2008 R2 is geïnstalleerd.

Opnieuw opstarten

U hoeft de computer niet opnieuw op te starten nadat u deze hotfix hebt toegepast.

Informatie over het vervangen van hotfixes

Deze hotfix vervangt geen eerder uitgebrachte hotfix.

Bestandsinformatie

De algemene versie van deze hotfix heeft de bestandskenmerken (of recentere bestandskenmerken) die in de volgende tabel worden weergegeven. De datums en tijden voor deze bestanden worden weergegeven in Coordinated Universal Time (UTC). Wanneer u de bestandsinformatie weergeeft, wordt deze naar lokale tijd geconverteerd. Om het verschil tussen UTC en lokale tijd op te zoeken, gebruikt u het tabblad tijdzone in het onderdeel datum en tijd in het Configuratiescherm.

BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
Sqlservr.exe2009.100.1800.0121,829,21608-Jul-201111:55IA-64
Sqlservr.exe2009.100.1800.062,027,61608-Jul-201112:28x64
Sqlservr.exe2009.100.1800.042,911,58408-Jul-201113:22x86

Status


Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Meer informatie


De volgende tabel vindt u meer informatie over de producten of de hulpprogramma's die automatisch dit controleren op uw exemplaar van SQL Server en de versies van de SQL Server-product waarop de regel wordt geëvalueerd.
Regel softwareTitel van de regelBeschrijving van de regelVersies van het product waarop de regel wordt geëvalueerd.
System Center-adviseurSQL Server-databasebestanden wordt gemarkeerd als sparse-bestanden
System Center Advisor gecontroleerd als dit exemplaar van SQL Server databasebestanden bevat die zijn gemarkeerd als verspreid. Alleen snapshot-databasebestanden moeten worden gemarkeerd als bestanden. Als normale databasebestanden zijn gemarkeerd als verspreid, genereert een waarschuwing met Advisor. Adviseur is gebaseerd op de kolom is_sparse in de sys.master_files catalogus weergeven. Controleer de gegevens die zijn vermeld in de sectie 'Informatie verzamelen' van de waarschuwing adviseur en de verspreide status op het niveau van het besturingssysteem voor de betrokken bestanden. Nadat u de status van OS-sparse uitschakelt, kunt u de hotfix die in dit artikel de SQL Server metagegevens vernieuwen en synchroniseren met de OS-instellingen toepassen.

SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Referenties


Ga naar de volgende MSDN-website voor meer informatie over DBCC-opdrachten:Ga naar de volgende MSDN-website voor meer informatie over de Fsutil -instructie:Voor meer informatie over dit probleem in Windows Server 2003, klikt u op de volgende artikelnummers om de artikelen in de Microsoft Knowledge Base:
973886 kunt u niet terugzetten grote bestanden in het NTFS-bestandssysteem wanneer de gegevensstromen met verspreide kenmerken in de 64-bits versie van Windows XP SP2 of Windows Server 2003 SP2 worden verwijderd
932021 foutbericht wanneer u de opdracht 'chkdsk' samen met de "/ v" overschakelen op een computer met Windows Server 2003: "Correcting verspreid bestandsrecordsegment < getal >"