Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Уменьшение размера таблицы со столбцом типа image после удаления данных  [new]
Basicqwe
Member

Откуда:
Сообщений: 4
Добрый день!

Есть таблица с файлами (ID uniqueidentifier, doc image) 14к строк размер 40Гб.
Удалил 2к строк размером 10Гб, но занимаемое таблицей место не уменьшилось.
Ребилд кластерного индекса первичного ключа не помог.

Нашел такую тему: https://www.sql.ru/forum/1126862/kak-umenshit-razmer-bd-posle-udaleniya-zapisey-soderzhashhih-image
Но мне не совсем подходит, т.к. таблица в репликации. Хотелось бы избежать пересоздания репликации.

Прошу совета?
10 июл 17, 08:04    [20627850]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение размера таблицы со столбцом типа image после удаления данных  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31332
Basicqwe
Хотелось бы избежать пересоздания репликации.
Увы.
10 июл 17, 08:51    [20627891]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение размера таблицы со столбцом типа image после удаления данных  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
DBCC CLEANTABLE('your_db', 'dbo.table')
10 июл 17, 09:34    [20627969]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение размера таблицы со столбцом типа image после удаления данных  [new]
Basicqwe
Member

Откуда:
Сообщений: 4
AlanDenton,

Такая команда выполняется мгновенно и не даёт результата.
10 июл 17, 09:54    [20628017]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение размера таблицы со столбцом типа image после удаления данных  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Какая версия SQL Server ?

SELECT @@VERSION
10 июл 17, 10:31    [20628184]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение размера таблицы со столбцом типа image после удаления данных  [new]
Basicqwe
Member

Откуда:
Сообщений: 4
AlanDenton,

Microsoft SQL Server 2005 - 9.00.5000.00 (X64) Dec 10 2010 10:38:40 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)
10 июл 17, 10:37    [20628216]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение размера таблицы со столбцом типа image после удаления данных  [new]
invm
Member

Откуда: Москва
Сообщений: 9283
Basicqwe
Хотелось бы избежать пересоздания репликации.
Можно, при условии, что включено Replicate DDL:
- скопировать данные из столбца в промежуточную таблицу
- удалить столбец
- добавить столбец
- восстановить данные столбца из промежуточной таблицы

Но это гораздо хуже, с точки зрения затрат, чем удалить из репликации только эту таблицу, провести нужные манипуляции и добавить ее заново в репликацию.
10 июл 17, 11:22    [20628423]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшение размера таблицы со столбцом типа image после удаления данных  [new]
Basicqwe
Member

Откуда:
Сообщений: 4
А если сменю тип на varbinary(max)?
add column doc_new varbinary(max)
UPDATE SET doc_new = doc
drop column doc
add column doc varbinary(max)
UPDATE SET doc = doc_new
drop column doc_new

Поможет обычный ребилд первичного ключа?
11 июл 17, 05:15    [20631629]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить