Příznaky
Předpokládejme, že máte tabulku, která obsahuje sloupec large (LOB) v Microsoft SQL serveru 2008, SQL serveru 2008 R2, SQL serveru 2012 nebo SQL Server 2014. Když aktualizujete sloupec LOB menší velikostí dat LOB a pokusíte se uvolnit nevyužité místo pomocí následujících metod:
-
DBCC SHRINKDATABASE/DBCC SHRINKFILE
-
ZMĚNA USPOŘÁDÁNÍ INDEXU POMOCÍ (LOB_COMPACTION = ON)
V této situaci nelze znovu vyžádat nevyužité místo.
Řešení
Tento problém byl poprvé opraven následující kumulativní aktualizací SQL serveru.
Kumulativní aktualizace 2 pro SQL Server 2012 SP2 /en-us/help/2983175
Kumulativní aktualizace 11 pro SQL Server 2012 SP1 /en-us/help/2975396
Kumulativní aktualizace 13 pro SQL Server 2008 R2 SP2 /en-us/help/2967540
Kumulativní aktualizace 2 pro SQL Server 2014 /en-us/help/2967546
Kumulativní aktualizace 17 pro SQL Server 2008 SP3 /en-us/help/2958696
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:
Alternativní řešení
Tento problém můžete vyřešit pomocí následujících alternativních řešení:
-
Exportujte všechny řádky do nové tabulky a přesuňte řádky zpátky. Tím se přeuspořádá data LOB a uvolníte nevyužité místo.
-
Pomocí příkazu DBCC SHRINKFILE s možností EMPTYFILE přesuňte všechna data do nově přidaného datového souboru a potom odeberte starý datový soubor. Tím se uspořádá data LOB uvolněním nevyužitého místa.
Další informace
Následující příklad ukazuje, že nevyužité místo pomocí sp_spaceused příkazu TSQL TABLE_NAME před a po aktualizaci sloupce LOB o menší velikosti dat LOB: před aktualizací:
Jméno |
řádku |
vyhrazují |
dat |
index_size |
nepoužitý |
table_name |
1000 |
261072 KB |
261056 KB |
16 KB |
0 KB |
Po aktualizaci:
Jméno |
řádku |
vyhrazují |
dat |
index_size |
nepoužitý |
table_name |
1000 |
261072 KB |
199672 KB |
16 KB |
61384 ČLÁNKŮ |
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.