Simptomi
Pretpostavimo da imate tablicu koja sadrži stupac veliki objekt (LOB) u programu Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 ili SQL Server 2014. Kada ažurirate stupac LOB s manjem veličinom LOB podataka i pokušate povratiti neiskorišteni razmak pomoću sljedećih načina:
-
DBCC SHRINKBAZA PODATAKA/DBCC SHRINKFILE
-
ALTER INDEX REORGANIZIRAJ SA (LOB_COMPACTION = UKLJUČENO)
U toj situaciji nije moguće vratiti neiskorišteni razmak.
Rješenje
Problem je prvi put riješen u sljedećem kumulativnom ažuriranju sustava SQL Server.
Kumulativno ažuriranje 2 za SQL Server 2012 SP2 /en-us/help/2983175
Kumulativno ažuriranje 11 za SQL Server 2012 SP1 /en-us/help/2975396
Kumulativno ažuriranje 13 za SQL Server 2008 R2 SP2 /en-us/help/2967540
Kumulativno ažuriranje 2 za SQL Server 2014 /en-us/help/2967546
Kumulativno ažuriranje 17 za SQL Server 2008 SP3 /en-us/help/2958696
Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Zaobilazno rješenje
Da biste zaobišli taj problem, upotrijebite sljedeće zaobilazna rješenja:
-
Izvezite sve retke u novu tablicu i premjestite retke natrag. Time se reorganizuje LOB podatke i oslobađa neiskorišteni razmak.
-
Koristite DBCC SHRINKFILE s mogućnošću EMPTYFILE za premještanje svih podataka u novododanu podatkovnu datoteku, a zatim uklonite staru podatkovnu datoteku. Time se podaci o LOB-u tamo ponovno organiziraju objavljivanjem neiskorištenog razmaka.
Dodatne informacije
U sljedećem se primjeru prikazuje neiskorišteni razmak pomoću naredbe TSQL sp_spaceused ' table_name ' prije i nakon ažuriranja stupca lob s manjem veličinom lob podataka: prije ažuriranja:
ime |
redaka |
rezervirane |
podataka |
index_size |
neiskorišteni |
table_name |
1000 |
261072 KB |
261056 KB |
16 KB |
0 KB |
Nakon ažuriranja:
ime |
redaka |
rezervirane |
podataka |
index_size |
neiskorišteni |
table_name |
1000 |
261072 KB |
199672 KB |
16 KB |
61384 KB |
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".