#0
by Дух1984
Торговля на SQL: база весит 6 Гб, а лог 11,5 Гб. Как этот лог обрезать? Shrink не помогает? Что будет, если просто убить ldf? Будет ругаться или просто создаст новый пустой?
#8
by Дух1984
нет...процесс проходит нормально, но файл все такой же...ну мож пару мегабайт сбрасывает...
#11
by ДенисЧ
Предлагаю сначала грохнуть сисадмина... Ибо настолько тупы вопросы в тырнете плодятся пачаками..
#14
by learn1c
Ну зачем же сразу для дураков? Пусть будет как для нормальных людей Recovery mode - Full. Если будут делать регулярное резервное копирование базы данных и файла транзакций, то все будет в порядке.
#15
by ShoGUN
Shrink file с явным указанием размера помогает всегда. А вообще - , если париться не хочется.
#16
by Dmitrii
Это? Уменьшение размера журнала транзакций Microsoft SQL Server Проблема Рост файла журнала транзакций. С помощью команды DBCC SHRINKFILE не удается уменьшить размер файла журнала транзакций до нужного размера . Решение Для решения описанной проблемы необходимо предварительно удалить неактивные записи журнала транзакций с помощью команды BACKUP LOG, а затем уже с помощью команды DBCC SHRINKFILE уменьшить размер файла журнала транзакций. Последовательность команд, которую нужно исполнить в Query Analyzer, выглядит следующим образом: BACKUP LOG Имя_Базы_Данных WITH TRUNCATE_ONLY go DBCC SHRINKFILE(Имя_Файла_Журнала_Транзакций) go Более подробное описание и рекомендации по использованию этих команд можно найти в документации по Microsoft SQL Server.
#17
by Шляпентох
Судя по тому, что у вас файл не уменьшается - модель восстановления full и бэкапы журнала транзакций вы не делаете.. Меняйте на simple. Для очистки журнала транзакций используйте команды: backup log your_database with truncate_only Логические имя файла можете узнать с помощью use [your_database_name] select * from sys.database_files (правда не знаю есть ли в 2000-м такое представление)
#18
by Если
Может для начала спросить : А как ты шринк делаешь??? А то, к примеру, сверху в QA база Мастер торчит, а он удивляется, что лог не уменьшается.
#21
by skysplash
Удаление работает. Отключи базу от сервака, удали журнал транзакций, подключи. Будет создан новый пустой журнал транзакций.
#23
by skysplash
Ответил на поставленный вопрос. Ещё раз скажу: журнал транзакций можно удалить, при присоединении будет создан новый. В чём проблема, если в данном случае человеку текущий ldf человеку не нужен?
#26
by Шляпентох
А при отсоединении базы все незавершенные транзакции будут автоматически "откачены" назад?
#27
by dk
хм, я думал в мдф начальные данные + в лдф все изменения и пока фулл бэкап не сделаешь данные в мдф не переносятся при модели фулл --- и продолжаю так думать )))
#29
by skysplash
Думай дальше. Нет, ни в коем случае. После того, как транзакция зафиксирована, она назад не откатится.
#31
by Шляпентох
Я немного не то имел в виду. Попробую переформулировать. Данные записываются в mdf файл по чекпойнту, либо лэйзи райтером. При отсоединении БД - данные уже измененные в памяти будут записаны в файл?
#32
by skysplash
Если не дадите пользователю завершить транзакцию (т.е. прервав его сессию), тогда изменения записаны не будут.
#33
by Шляпентох
и зря Вы так продолжаете думать) В жунале транзакций содержится информация о транзакциях. Активная часть - не зафикисрованные транзакции. Модель восстановления simple не используется для восстановления на определенный момент времени, т.е. данные о зафиксированных транзакциях, условно говоря, удаляются. В модели восстановления full/bulk-logged, информация о зафиксированных транзакциях перестает быть нужной после создания бэкапа журнала транзакций. Еще раз. Я записал документ и корректно завершил работу с системой. Все изменения были произведены в памяти. Данные будут записаны только по чекпойнту, либо lazy writer'ом. Вы уверены, что при отсоединении БД, будет вызван чекпойнт или запустится lazy writer? "При перезапуске, служба SQL Server использует журнал транзакций для обнаружения завершенных транзакций, которые внесли изменения в данные, но не были записаны на диск и незавершенных транзакций" ( - пруфлинк, четвертый абзац раздела "How does SQL use the log?")
#34
by Шляпентох
Просто метод аттача без журнала какой-то "варварский" :). Я понимаю его необходимость при переносе базы и повреждении ldf-файла, но для очистки журнала...
#36
by skysplash
Чтобы устранить все сомнения, лучше, конечно же, сначала попробовать на тестовой базе.
#37
by Moriarti
>журнал транзакций можно удалить, при присоединении будет создан новый. Ну не совсем так, определённые шаманские действия все же нужно произвести: Данный метод работает только для версии SQL2000 1. Создаем новую базу с таким же именем и такимиже по именам и расположению .mdf и .ldf файлами 2. Останавливаем сервер, подменяем файл .mdf 3. Стартуем сервер, не обращаем внимания на статус базы 4. Из QA выполняем скрипт Use master go sp_configure 'allow updates', 1 reconfigure with override go 4. Там же выполняем select status from sysdatabases where name = '<db_name>' и запоминаем/записываем значение на случай неудачи ребилда лога 5.Там же выполняем update sysdatabases set status= 32768 where name = '<db_name>' 6. Перезапускаем SQL Server 7. В принципе база должна быть видна (в emergency mode). Можно, например, заскриптовать все объекты 8. Из QA выполняем DBCC REBUILD_LOG('<db_name>', '<имя нового лога с указанием полного пути>') SQL Server скажет - Warning: The log for database '<db_name>' has been rebuilt. 9. Если все нормально, то там же выполняем Use master go sp_dboption '<db_name>', 'single user', 'true' go 9a. Если Вам не удалось перевести базу в single user mode, то для проверки целостности данных можно попробовать dbo only mode sp_dboption '<db_name>', 'dbo use only', 'true' 10. Если все в порядке, то sp_dboption '<db_name>', 'single user', 'false' go Use master go sp_configure 'allow updates', 0 go
#38
by ДенисЧ
Линуксоид? Любишь в гамаке в ластах в противогазе и стоя? Нормальные люди для этого исползуют sp_attach_single_file_db...
#39
by Moriarti
Ты FAQ читал? У меня как правило ldf терялись не спроста, или диск наворачивался или еще что. А в этом случае база суспект и никакой sp_attach_single_file_db не поможет. Вывалит ошибку. А самому ldf удалять, чтобы лог уменьшить это конечно придумать надо.
#41
by Дух1984
Слишком много времени займет... А можно ли из QA принудительно записать все накопленные изменения (транзакции), а потом грохнуть ldf?
#45
by Mikeware
Достаточно пригластить человека, умеющего читать техническую литературу на русском языке...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Запуск 1С SQL на не MS SQL сервере ?
- Как обрезать рабочую базу ТиС до определенного числа ?
- Комплексная SQL MDF 8.5 Gb, LDF 14,5 Gb пора обрезать лог?
- Как написать SQL запрос на 1С при обращении к другой SQL базе?
- SQL или не SQL ??? как решить ?
- 1cv8 SQL: Имя SQL сервера и имя SQL базы данных
- обрезать базу УТ
- SQL, делаю архив лога, а текущий лог не уменьшается?
- v7: Печатная форма. Как обрезать строку?
- как обрезать sql базу?
- Лог изменений в MS SQL базе!
- Обрезать код номенклатуры
В этой группе 1С
- СКД: Две СКД в одном отчете
- Не работает кнопка открытия на Веб-клиенте!
- УТ.Как отразить передачу товара в производство Контрагенту и возврат "доработанного"
- Поиск битых ссылок в УТ
- из интерфейса пропал пункт меню
- Пустые записи в регистре накопления подчиненном регистратору
- Подскажите где на 1с.ру скачивать обновления отчетности ? ИТС есть.
- Запрет отмены отбора в списке документов
- Задачи для тестирования программистов
- как вставить область в определенную область табличного документа
- Конвертация данных "Выгрузка остатков товаров по сериям"
- v7: Как записать в регистр накопления ссылки на справочник и документ?
- Управление бух. итогами не активно
- Не стартует автоматически Агент сервера 1С:Предприятия 8.1
- ДБФ файл. Ругается на длину имени
- Перенос счета. Конвертация данных.
- Как скопировать структуру?
- Падает буха 8.1 на SQL
- Выгрузка объектов конфигурации по определенной подсистеме
- ЗУП. Больничный по уходу за ребенком