Simptomi
Pretpostavimo da imate tabelu koja sadrži kolonu velikog objekta (LOB) u sistemima Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 ili SQL Server 2014. Kada ažurirate lob kolonu manjom veličinom LOB podataka i pokušate da povratite neiskorišćeni prostor pomoću sledećih metoda:
-
DBCC SHRINKDATABASE / DBCC SHRINKFILE
-
ALTER INDEX REORGANIZE WITH (LOB_COMPACTION = ON)
U ovoj situaciji neiskorišćen prostor se ne može povratiti.
Rešenje
Problem je prvi put otklonjen u sledećoj kumulativnoj ispravki sistema SQL Server.
Kumulativna ispravka 2 za SQL Server 2012 SP2 /en-us/help/2983175
Kumulativna ispravka 11 za SQL Server 2012 SP1 /en-us/help/2975396
Kumulativna ispravka 13 za SQL Server 2008 R2 SP2 /en-us/help/2967540
Kumulativna ispravka 2 za SQL Server 2014 /en-us/help/2967546
Kumulativna ispravka 17 za SQL Server 2008 SP3 /en-us/help/2958696
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Rešenje
Da biste zaobišli ovaj problem, koristite sledeća rešenja:
-
Izvezite sve redove u novu tabelu i vratite redove unazad. Ovo reorganizuje LOB podatke i oslobađa neiskorišćeni prostor.
-
Koristite DBCC SHRINKFILE sa emptyFILE opcijom da biste premestili sve podatke u novu datoteku sa podacima, a zatim uklonili staru datoteku sa podacima. Ovo reorganizuje LOB podatke tako što oslobađa neiskorišćeni prostor.
Više informacija
Sledeći primer prikazuje neiskorišćeni prostor pomoću TSQL komande sp_spaceused "table_name" pre i nakon ažuriranja lob kolone sa manjom veličinom LOB podataka:Pre nego što ažurirate:
Ime |
Redove |
Rezervisana |
Podataka |
index_size |
Nekorišćene |
table_name |
1000 |
261072 kB |
261056 kB |
16 kB |
0 kB |
Nakon ažuriranja:
Ime |
Redove |
Rezervisana |
Podataka |
index_size |
Nekorišćene |
table_name |
1000 |
261072 kB |
199672 KB |
16 kB |
61384 Kb |
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".