Príznaky
Predpokladajme, že máte tabuľku obsahujúcu stĺpec veľký objekt (LOB) v Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 alebo SQL Server 2014. Keď aktualizujete stĺpec LOB s menšou veľkosťou údajov LOB a pokúsite sa obnoviť nevyužité miesto pomocou nasledujúcich metód:
-
DBCC SHRINKDATABASE/DBCC SHRINKFILE
-
ZMENIŤ INDEX S REORGANIZÁCIOU (LOB_COMPACTION = ZAPNUTÝ)
V tejto situácii sa nevyužité miesto nedá rekultivovať.
Riešenie
Tento problém bol najskôr vyriešený v nasledujúcej kumulatívnej aktualizácii SQL servera.
Kumulatívna aktualizácia 2 pre SQL Server 2012 SP2 /en-us/help/2983175
Kumulatívna aktualizácia 11 pre SQL Server 2012 SP1 /en-us/help/2975396
Kumulatívna aktualizácia 13 pre SQL Server 2008 R2 SP2 /en-us/help/2967540
Kumulatívna aktualizácia 2 pre SQL Server 2014 /en-us/help/2967546
Kumulatívna aktualizácia 17 pre SQL Server 2008 SP3 /en-us/help/2958696
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Alternatívne riešenie
Ak chcete tento problém obísť, použite nasledujúce alternatívne riešenia:
-
Exportujte všetky riadky do novej tabuľky a premiestnite riadky späť. Tým sa preusporiadajú údaje LOB a uvoľní sa nevyužité miesto.
-
Pomocou príkazu DBCC SHRINKFILE s EMPTYFILE môžete presunúť všetky údaje do novo pridaného údajového súboru a potom odstrániť starý súbor s údajmi. Tým sa preusporiadajú údaje LOB tam uvoľnením nevyužitého miesta.
Ďalšie informácie
V nasledujúcom príklade sa zobrazuje nevyužité miesto pomocou príkazu TSQL sp_spaceused TABLE_NAME pred a po aktualizácii stĺpca LOB s menšou veľkosťou údajov LOB: pred aktualizáciou:
meno |
riadkov |
vyhradené |
údajov |
index_size |
zatiaľ nepoužitý |
table_name |
1000 |
261072 KB |
261056 KB |
16 KB |
0 KB |
Po aktualizácii:
meno |
riadkov |
vyhradené |
údajov |
index_size |
zatiaľ nepoužitý |
table_name |
1000 |
261072 KB |
199672 KB |
16 KB |
61384 KB |
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.