Poprawka: Pliki danych bazy danych może być niepoprawnie oznaczona jako rozrzedzony, w programie SQL Server 2008 R2 lub SQL Server 2008 nawet wtedy, gdy fizyczne pliki są oznaczane jako nie sparse w systemie plików

Firma Microsoft rozpowszechnia Microsoft SQL Server 2008 R2 lub Microsoft SQL Server 2008 rozwiązuje jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008 lub SQL Server 2008 R2 Release.

Objawy

Microsoft SQL Server 2008 R2 lub Microsoft SQL Server 2008 może oznaczyć pliki bazy danych jako rozrzedzony, nawet wtedy, gdy fizyczne pliki są oznaczane jako nie sparse w systemie plików.

Uwagi
  • Aby ustalić, czy pliki bazy danych są oznaczone jako rozrzedzony w metadanych programu SQL Server, uruchom następującą instrukcję, a następnie sprawdzić, czy kolumny Is_Sparse jest ustawiony na wartość różną od zera w zestawie wyników:
    Use 
    <database name>
    select is_sparse , physical_name from sys.database_files
  • Aby wykonać kwerendę dotyczącą stanu fizycznego plików w systemie plików, uruchom następujące polecenie systemu Windows po bazy danych jest w trybie offline:
    fsutil sparse queryflag 
    <files path>\<database file>
    Jeśli zostanie wyświetlony następujący wynik, plik jest oznaczony jako rozrzedzony, w systemie plików:
    Ten plik jest ustawiony jako rozrzedzony.
  • Zarówno metadanych programu SQL Server, jak i metadane systemu plików muszą być oznaczone jako rozrzedzony tylko pliki danych bazy danych, które są częścią migawki bazy danych.

Przyczyna

Ten problem występuje, ponieważ system plików niepoprawnie oznacza plik danych całej bazy danych jako rozrzedzony po alternatywnych strumienia, który pierwotnie był oznaczony jako rozrzedzony jest usuwany. Alternatywne strumień jest usuwany po zakończeniu polecenia DBCC CHECKDB .

Uwagi
  • Wewnętrzne wykorzystanie migawka bazy danych jest funkcją NTFS, który jest używany przez Polecenie DBCC CHECKDB rodzinę poleceń. Po uruchomieniu polecenia DBCC , aparat bazy danych tworzy strumień alternatywnych migawka bazy danych i przesuwa ją do stanu spójności transakcyjnej. Polecenie DBCC uruchamia kontroli alternatywnych strumienia. Alternatywne strumienia zostanie usunięte po zakończeniu polecenia DBCC .
  • Projekt, który jest przyczyną problemu została wprowadzona w systemie Windows Server 2003, w którym kopie zapasowe poziom głośności systemu Windows są używane do kopii zapasowej plików bazy danych. Metadane programu SQL Server przechowuje kopię sparse atrybuty plików danych w tabelach systemowych. Jednak program SQL Server nie aktualizuje informacji Is_Sparse po sparse atrybut jest usuwany z systemu plików.
  • Ten problem występuje również po migracji bazy danych z systemu Windows Server 2003 do nowszej wersji systemu operacyjnego Windows.

    Na przykład należy przeprowadzić migrację bazy danych z systemu Windows Server 2003 do systemu Windows Server 2008 lub Windows Server 2008 R2.

Rozwiązanie

Aby rozwiązać ten problem w programie SQL Server 2008 R2 lub programu SQL Server 2008, należy zastosować następującą poprawkę, a następnie bazy danych w trybie online. Gdy baza danych jest przełączana do trybu online, SQL Server sprawdza, czy metadanych pliku fizycznej bazy danych jest oznaczony jako rozrzedzony, w systemie plików. Jeśli jest oznaczony jako nie sparse, metadane programu SQL Server jest aktualizowany.

Uwaga Aby usunąć atrybuty sparse z systemu plików, skopiuj pliki bazy danych, a następnie użyć nowej kopii plików bazy danych. Aby uzyskać więcej informacji na ten temat odwiedź następującą witrynę MSDN:

Informacje dotyczące zbiorczej aktualizacji

Dodatek Service Pack 3 dla programu SQL Server 2008

Poprawkę dotyczącą tego problemu został wydany w pakiet aktualizacji zbiorczej 1 dla dodatku Service Pack 3 dla programu SQL Server 2008. Aby uzyskać więcej informacji na temat tego pakietu aktualizacji zbiorczej kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2617146 Zbiorcza aktualizacja pakietu 1 dla dodatku Service Pack 3 dla programu SQL Server 2008
Uwaga Ponieważ są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008 Release. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2629969 SQL Server 2008 buduje wydane po wydaniu dodatku Service Pack 3 dla programu SQL Server 2008
Microsoft SQL Server 2008 poprawki są tworzone dla określonych dodatków service Pack dla programu SQL Server. Do instalacji programu SQL Server 2008 Service Pack 3, należy zastosować poprawkę dodatku Service Pack 3 dla programu SQL Server 2008. Domyślnie wszystkie poprawki, która jest dostępna w dodatku service pack dla programu SQL Server znajduje się w następnym dodatku service pack dla programu SQL Server.

Dodatek Service Pack 1 dla programu SQL Server 2008

Poprawkę dotyczącą tego problemu został wydany w pakiecie aktualizacji zbiorczej 16 dla dodatku Service Pack 1 dla programu SQL Server 2008. Aby uzyskać więcej informacji na temat tego pakietu aktualizacji zbiorczej kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2582282 Zbiorcza aktualizacja pakietu 16 dla dodatku Service Pack 1 dla programu SQL Server 2008
Uwaga Ponieważ są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008 Release. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
970365 SQL Server 2008 buduje wydane po wydaniu dodatku Service Pack 1 dla programu SQL Server 2008
Microsoft SQL Server 2008 poprawki są tworzone dla określonych dodatków service Pack dla programu SQL Server. Do instalacji programu SQL Server 2008 z dodatkiem Service Pack 1, należy zastosować poprawkę dodatku Service Pack 1 dla programu SQL Server 2008. Domyślnie wszystkie poprawki, która jest dostępna w dodatku service pack dla programu SQL Server znajduje się w następnym dodatku service pack dla programu SQL Server.

Dodatek Service Pack 2 dla programu SQL Server 2008

Poprawkę dotyczącą tego problemu został wydany w pakiecie zbiorczej aktualizacji 6 dla programu SQL Server 2008 Service Pack 2. Aby uzyskać więcej informacji na temat tego pakietu aktualizacji zbiorczej kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2582285 skumulowany pakietu aktualizacji 6 dla programu SQL Server 2008 Service Pack 2
Uwaga Ponieważ są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008 Release. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2402659 program SQL Server 2008 buduje wydane po wydaniu dodatku Service Pack 2 dla programu SQL Server 2008
Microsoft SQL Server 2008 poprawki są tworzone dla określonych dodatków service Pack dla programu SQL Server. Do instalacji programu SQL Server 2008 z dodatkiem Service Pack 2, należy zastosować poprawkę dodatku Service Pack 2 dla programu SQL Server 2008. Domyślnie wszystkie poprawki, która jest dostępna w dodatku service pack dla programu SQL Server znajduje się w następnym dodatku service pack dla programu SQL Server.

SQL Server 2008 R2 CU9

Poprawkę dotyczącą tego problemu został wydany w pakiecie aktualizacji zbiorczej 9 dla programu SQL Server 2008 R2. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2 kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2567713 Zbiorcza aktualizacja pakietu 9 dla programu SQL Server 2008 R2
Uwaga Ponieważ są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008 R2 Release. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
981356 SQL Server 2008 R2 buduje wydane po wydaniu programu SQL Server 2008 R2

CU2 programu SQL Server 2008 R2 Service Pack 1

Poprawkę dotyczącą tego problemu najpierw została wydana w pakiecie zbiorczej aktualizacji 2. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2 z dodatkiem SP1 kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2567714 skumulowany pakietu aktualizacji 2 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1
Uwaga Ponieważ są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008 R2 SP1 Release. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2567616 SQL Server 2008 R2 buduje wydane po wydaniu dodatku Service Pack 1 dla programu SQL Server 2008 R2

Informacje o poprawce

Obsługiwana poprawka jest udostępniana przez firmę Microsoft. Jednak ta poprawka jest przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Zastosuj poprawkę tylko w systemach, w których występuje problem opisany w tym artykule. Ta poprawka może być wciąż w fazie testowania. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następną aktualizację oprogramowania zawierającą tę poprawkę.

Jeśli poprawka jest dostępna do pobrania, pojawi się sekcja "Poprawka dostępna do pobrania" na początku tego artykułu z bazy wiedzy Knowledge Base. Jeśli nie ma tej sekcji, skontaktuj się z Obsługą i Wsparciem Klienta Microsoft w celu uzyskania poprawki.

Uwaga Jeśli wystąpią dodatkowe błędy lub konieczność rozwiązania problemu, być może trzeba będzie utworzyć osobne zlecenie usługi. Zwykłe koszty obsługi będą zastosowane do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej poprawki. Aby uzyskać pełną listę numerów telefonów działu obsługi klienta firmy Microsoft lub utworzyć osobne zlecenie usługi odwiedź następujące witryny firmy Microsoft:
Uwaga "Poprawka dostępna do pobrania" zawiera listę języków, dla których dostępna jest poprawka. Jeśli odpowiedni język nie jest widoczny, to dlatego, że poprawka nie jest dostępna dla danego języka.

Wymagania wstępne

Aby zastosować tę poprawkę, musi mieć zainstalowany program SQL Server 2008 R2.

Wymagania dotyczące ponownego uruchomienia

Nie musisz ponownie uruchomiać komputera po zastosowaniu tej poprawki.

Informacje dotyczące zastępowania poprawek

Ta poprawka nie zastępuje wcześniej wydanej poprawki.

Informacje o plikach

Wersja globalna tej poprawki ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć z karty Strefa czasowa w aplecie Data i godzina w Panelu sterowania.

Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
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

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji

Poniższa tabela zawiera więcej informacji na temat produktów lub narzędzi, które automatycznie sprawdza ten warunek wystąpienia programu SQL Server i wersje produktu SQL Server, przeciwko której sprawdzane jest reguła.
Reguła oprogramowaniaNazwa regułyOpis regułyWersje produktu, przeciwko którym reguła jest oceniane
Doradca programu System CenterOznaczone jako pliki rozrzedzone pliki bazy danych programu SQL Server
Doradca System Center sprawdza, jeśli to wystąpienie programu SQL Server zawiera pliki bazy danych, które są oznaczone jako rozrzedzony. Tylko pliki migawkę bazy danych powinien być oznaczony jako pliki. Jeśli pliki normalnej bazy danych są oznaczone jako rozrzedzony, Doradca generuje alert. Doradca opiera się na kolumny is_sparse w katalogu sys.master_files widok. Przejrzyj szczegóły, które znajdują się w sekcji "Informacje zbierane" doradca alertu i sprawdzić stan rozrzedzone pliki podlegające usterce na poziomie systemu operacyjnego. Po wyczyszczeniu stanu sparse systemu operacyjnego, można zastosować poprawka omówiona w tym artykule, aby odświeżyć metadane programu SQL Server i zsynchronizować z ustawieniami systemu operacyjnego.

Program SQL Server 2008

Program SQL Server 2008 R2

Program SQL Server 2012

Powiązane artykuły

Aby uzyskać więcej informacji na temat polecenia DBCC odwiedź następującą witrynę MSDN:Aby uzyskać więcej informacji na temat instrukcji Fsutil odwiedź następującą witrynę MSDN:Aby uzyskać więcej informacji na temat tego problemu w systemie Windows Server 2003 kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
973886 nie można przywrócić dużych plików w systemie plików NTFS po usunięciu wszystkich strumieni danych, które mają atrybuty sparse w 64-bitowej wersji systemu Windows XP z dodatkiem SP2 lub Windows Server 2003 z dodatkiem SP2
932021 komunikat o błędzie podczas uruchamiania polecenia "chkdsk" wraz z "/ v" Przełącz na komputerze z systemem Windows Server 2003: "Plik rozrzedzony rekordu segment Correcting < liczba >"
Właściwości

Identyfikator artykułu: 2574699 — ostatni przegląd: 15.02.2017 — zmiana: 1

Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Workgroup

Opinia