Po použití příkazu DELETE k odstranění dat z tabulky v serveru SQL Server není úplně uvolněn prostor, který používá tabulku

Chyba č: 219514 (SQL Server 8.0)
Chyba č: 219514 (SQL Server 8.0)BUG #: 50749 (Údržba obsahu)

Příznaky

Po použití příkazu DELETE v Microsoft SQL Server Chcete-li odstranit data z tabulky, můžete si všimnout, že prostor, který používá tabulku není zcela uvolněna. Při pokusu o vložení dat do databáze, můžete obdržet následující chybovou zprávu:
Nelze přidělit místo pro objekt 'TableName' v databázi 'název_databáze' protože "Primární" skupina souborů je plná.
Poznámka: Název_tabulky představuje název tabulky. DatabaseName představuje název databáze, který obsahuje tabulku.

Příčina

K tomuto problému dochází, protože SQL Server pouze uvolní všechny stránky, které používá tabulky haldy, pokud jsou splněny následující podmínky:
  • Dojde k odstranění v této tabulce.
  • Se koná uzamčení úrovni tabulky.
Poznámka: Tabulka haldy je libovolné tabulky, která není spojena s seskupený index.

Pokud stránky nejsou navrácen, ostatní objekty v databázi znovu použít stránky.

Však po povolení řádku úroveň izolace systémem správy verzí v databázi SQL Server 2005 stránek nelze uvolnit i když se koná uzamčení úrovni tabulky. Další informace o úrovních izolace systémem správy verzí řádku naleznete v tématu "Použití řádku založené na Versioning izolace úrovně" v SQL Server 2005 Books Online.

Jak potíže obejít

Chcete-li tento problém vyřešit, použijte jednu z následujících metod:

  • Pokud není povolena úroveň izolace systémem správy verzí řádku zahrňte příkaz DELETE nápovědu pro TABLOCK. Například použití příkazu, který je podobný následujícímu:
    DELETE FROM <TableName> WITH (TABLOCK)
    Poznámka: < název_tabulky > představuje název tabulky.
  • Pokud chcete odstranit všechny záznamy v tabulce, použijte příkaz zkrátit TABLE. Například použití příkazu, který je podobný následujícímu:
    TRUNCATE TABLE <TableName>
  • Vytvoření seskupeného indexu na sloupce v tabulce. Další informace o vytvoření seskupeného indexu na tabulce, naleznete v tématu "Vytvoření seskupeného indexu" v SQL Server Books Online.

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".
Vlastnosti

ID článku: 913399 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor