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

Откуда: г. Москва
Сообщений: 7900
MS SQL 2005. У базы есть два файла логов (ldf). Необходимо один из них удалить.

Стандартную последовательность знаю

DBCC SHRINKFILE('logical_file_name', EMPTYFILE)
GO
ALTER DATABASE database_name REMOVE FILE logical_file_name

Проблема только в том, что SHRINKFILE полностью файл не очищает. Остается заполненным примерно 712КБ. Как следствие, REMOVE - выдает сообщение об ошибке, что файл не пустой.

Пока просто ограничил максимальный размер "лишнего" лога 1МБ. Но хотелось бы его физически удалить. Как это можно сделать?
3 янв 12, 20:46    [11856536]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли физически удалить один из лог-файлов 2005  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31977
ВладимирМ
Но хотелось бы его физически удалить. Как это можно сделать?
Нужно выяснить, что там остаётся и не шринкуется. Обычно это бывают остатки репликации.

Посмотрите чем нибуть вроде DBCC OPENTRAN
3 янв 12, 21:14    [11856581]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли физически удалить один из лог-файлов 2005  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7900
Репликация не настроена. Все это делалось в режиме Single_User. DBCC OPENTRAN говорит, что нет открытых транзакций.
3 янв 12, 21:26    [11856598]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли физически удалить один из лог-файлов 2005  [new]
BestZvit
Member

Откуда: Гоблино
Сообщений: 2250
ВладимирМ
Репликация не настроена. Все это делалось в режиме Single_User. DBCC OPENTRAN говорит, что нет открытых транзакций.

посмотрите:
select name, database_id, log_reuse_wait_desc from sys.databases
что активно для Вашей базы.
4 янв 12, 10:53    [11857357]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли физически удалить один из лог-файлов 2005  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7900
BestZvit
посмотрите:
select name, database_id, log_reuse_wait_desc from sys.databases

что активно для Вашей базы.

Результат - NOTHING

Что-то странное произошло. После многочисленных попыток, команда

ALTER DATABASE database_name REMOVE FILE logical_file_name

Прошла успешно. "Лишний" файл лога физически удалился с диска. Хотя предшествующая команда SHRINKFILE() по прежнему показывала 89 блоков (712КБ).

Однако в метаданных базы ссылка на этот файл по прежнему есть. Вероятно, требуется перезагрузка сервера для обновления метаданных. Вечером попробую перезагрузить.
4 янв 12, 15:07    [11857980]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить