Ознаки
Припустимо, що у вас є таблиця, що містить стовпець великого об'єкта (LOB) у Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 або SQL Server 2014. Коли ви оновлюєте стовпець LOB з меншим розміром даних у ЛОБ і намагаєтеся відновити невикористаний простір, використовуючи наведені нижче способи.
-
ТЕРМОУСАВ БАЗУ ДАНИХ АБО DBCC-ТЕРТЕРФАЙЛ.
-
ЗМІНИТИ ІНДЕКС РЕОРГАНІЗУВАТИ ЗА ДОПОМОГОЮ (LOB_COMPACTION = УВІМКНУТО)
У цій ситуації невикористаний простір не можна буде звільнено.
Спосіб вирішення
Ця проблема була спочатку зафіксоване в цьому сукупному оновленні сервера SQL Server.
Сукупне оновлення 2 для SQL Server 2012 SP2 /en-us/help/2983175
Сукупне оновлення 11 для SQL Server 2012 SP1 /en-us/help/2975396
Сукупне оновлення 13 для SQL Server 2008 R2 SP2 /en-us/help/2967540
Сукупне оновлення 2 для SQL Server 2014 /en-us/help/2967546
Сукупне оновлення 17 для SQL Server 2008 SP3 /en-us/help/2958696
Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:
Інші способи вирішення
Щоб вирішити цю проблему, виконайте наведені нижче способи вирішення.
-
Експортуйте всі рядки до нової таблиці та переміщуйте рядки назад. Це переорганізує дані бізнес-даних і звільняє невикористаний простір.
-
Використовуйте файл EMPTYFILE, щоб пересунути всі дані до щойно доданого файлу даних, а потім видалити старий файл даних. У цій області повторно організовуються дані про ЛОБ, випустивши невикористаний простір.
Додаткові відомості
У наведеному нижче прикладі відображається невикористаний простір за допомогою команди TSQL sp_spaceused "TABLE_NAME" до і після оновлення стовпця LOB з меншим РОЗМІРОМ даних LOB: перш ніж оновлювати:
Ім'я |
рядки |
зарезервовані |
даних |
index_size |
Невикористані |
table_name |
1000 |
261072 КБ |
261056 КБ |
16 КБ |
0 КБ |
Після оновлення виконайте наведені нижче дії.
Ім'я |
рядки |
зарезервовані |
даних |
index_size |
Невикористані |
table_name |
1000 |
261072 КБ |
199672 КБ |
16 КБ |
61384 KB |
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".