Я удаляю 257 миллионов строк из таблицы в SQL Server 2008. Я не могу его усечь. Хотя, наверное, я мог бы сделать это умнее.
Через 2 часа после удаления файл журнала вырос, и мне не хватает места на диске. Запрос все еще выполняется.
Что я должен делать? Удалится ли удаление?
Подождите, пока tx откатится, удаление не удастся. Или загрузите резервную копию - может быть быстрее.
Либо удаляйте постепенно (по 10 000 за раз), либо убедитесь, что ваш сервер соответствует вашим потребностям. Все, что МОЖНО сделать там.
Сколько записей нужно сохранить в таблице по сравнению с 257 миллионами удалений? Если это число меньше, вставьте эти записи группами в новую таблицу, переключите таблицы с помощью ALTER TABLE SWITCH и удалите старую таблицу.
http://jahaines.blogspot.com/2009/12/sql-server-2005-how-to-move-10-millions.html
Еще одна интересная идея - настроить разбиение и удалить старые разделы.
http://blogs.msdn.com/b/bartd/archive/2010/06/01/purging-data.aspx