shrinkdatabase

kassetka
Дата: 15.06.2011 09:13:50
подскажите плиз по поводу сжатия базы(mdf)
SQL SERVER 2005
sp_spaceused возвращает
database databasesize unnalocated space
base1 97053.75 MB 42616.00 MB

Удалили большую таблицу, и 46616 MB свободного пространства
Запускала (на тестовой тренировалась)
dbcc shrinkdatabase (base1,TRUNCATEONLY)

В итоге идет больше суток и ничего не происходит, это должно так долго выполнятся?(У нас нет столько времени,база активно используется) можно ли каким-либо другим способом, параметрами освободить неиспользуемое пространство. В моем случае надо урезать только mdf файл, ldf нормального размера.

Читала про вред shrinkdatabase, просто другим способом не вернуть свободное пространство
Kirillich
Дата: 15.06.2011 09:29:21
kassetka,

либо используйте без аргументов, либо предварительно с NOTRUNCATE
kassetka
Дата: 15.06.2011 09:47:02
так по идее, если использовать без аргументов, она еще дольше должна идти. TRUNCATEONLY же освобождает все свободное пространство в конце файла операционной системе, но не перемещает страницы внутри файла.


если только воспользоваться как тут советуют, http://www.sql.ru/forum/actualthread.aspx?tid=555865&pg=1&hl=notruncate
попробую запустить так, но кажется тоже дольше суток, а то и вообще бесконечность. :(

DBCC SHRINKFILE (1, NOTRUNCATE);
DBCC SHRINKFILE (1, TRUNCATEONLY);
gds
Дата: 15.06.2011 09:51:35
kassetka
В моем случае надо урезать только mdf файл, ldf нормального размера.

Читала про вред shrinkdatabase, просто другим способом не вернуть свободное пространство

В качестве альтернативы используейте dbcc shrinkfile.
DBCC SHRINKFILE([file_name],[size]);
file_name - логическое имя файла БД. size - размер до которого надо урезать. К тому же SHRINKFILE блокирует только файл, а не все БД.
kassetka
Дата: 15.06.2011 09:55:24
gds

так тоже пробовала,
dbcc shrinkfile (base1,80000) ставила, думала если по чуть-чуть сжимать, в итоге, за сутки операция не выполнилась.

На проверку целостности базу проверяла, все нормально.
WarAnt
Дата: 15.06.2011 10:38:06
kassetka
base1 97053.75 MB 42616.00 MB


kassetka
В итоге идет больше суток

O_O

меняйте диски, они у вас полное г
Владимир СА
Дата: 15.06.2011 10:48:50
kassetka
...
DBCC SHRINKFILE (1, TRUNCATEONLY);
Мне кажется тебе надо LOG файл сжимать-то (посмотри 2-й файл является LOG-ом ?), т.е. возможно
DBCC SHRINKFILE (2, TRUNCATEONLY);
monsenior
Дата: 15.06.2011 10:57:20
Как вариант - докупите диски побольше, подключите, затем переместите базу на эти диски.
Займет менее явно менее суток)
kassetka
Дата: 15.06.2011 12:06:06
Владимир СА
лог файл всего 2000 MB. Его уже сжимала, он нормальный, устраивает.
gds
Дата: 15.06.2011 12:10:33
kassetka
gds

так тоже пробовала,
dbcc shrinkfile (base1,80000) ставила, думала если по чуть-чуть сжимать, в итоге, за сутки операция не выполнилась.

На проверку целостности базу проверяла, все нормально.

на 10 Raid (10 дисков) файл данных с 430 Гб до 210 Гб сжалася за 27 мин. При работающей БД. Естественно в этот момент к файлу никто не обращался.