Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Очистить *.ldf  [new]
Санёк, 16 лет
Guest
Можно ли полностью очистить лог базы? Столкнулся с проблемой большого и растущего лога. На хостинге размер под базу ограничен. Бэкап полностью не очищает лог.
9 май 08, 02:03    [5644576]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Andaim
Member

Откуда: то тут, то там
Сообщений: 404
Top 10, вопрос 1 тыц
9 май 08, 08:24    [5644619]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Санёк, 16 лет
Guest
Спасибо почитал, хотя полностью очистить логи видимо не реально.
А могу ли я развернуть базу на хостинге без *.ldf файла? Чем-то это грозит?
9 май 08, 19:01    [5645445]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
naPmu3aH
Member

Откуда: из лесу
Сообщений: 1449
Без LDF файла нельзя. Таков принцип функционирования базы SQL Server. Это типа "можно ли человеку кушать без головы"?

Минимизировать размер лога можно. В частности, например, изменением модели восстановления. Simple спасет вас. Но это может быть чревато...
--
люди делятся на тех кто делает бэкапы и тех кто будет делать
12 май 08, 17:07    [5652035]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
KGP
Member

Откуда: Москва
Сообщений: 4557
Санёк, 16 лет
Спасибо почитал, хотя полностью очистить логи видимо не реально.
А могу ли я развернуть базу на хостинге без *.ldf файла? Чем-то это грозит?


последовательность пробовали?
backup log, backup database, backup log with TRUNCATE_ONLY, DBCC SHRINKFILE MyDB_Log
12 май 08, 17:15    [5652082]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Cheerful Calf
Member

Откуда: Lithuania
Сообщений: 6994
Andaim
Top 10, вопрос 1 тыц
Перечитал всё, но остался вопрос, подскажите что именно искать, чтобы найти ответ на:
Была база около 8 гб, лог файл всегда был пропорциональным и состовлял около половины размера (~ 4-5 гб). После того как сконфигурировал зеркало, ldf файл вырос до 19 гб (хотя сама база осталась около 8,4 гб). Причём это произошло за две недели.
Вопрос - Как производить обслуживание при сконфигурированном зеркале?
3 июн 08, 10:18    [5750450]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Cheerful Calf
Member

Откуда: Lithuania
Сообщений: 6994
зы
DBCC LOGINFO показывает статус 2 почти везде. То есть почему файл растйт - понятно. Не понятно что делать-то.
3 июн 08, 10:29    [5750516]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Glory
Member

Откуда:
Сообщений: 104760
Cheerful Calf
Andaim
Top 10, вопрос 1 тыц
Перечитал всё, но остался вопрос, подскажите что именно искать, чтобы найти ответ на:
Была база около 8 гб, лог файл всегда был пропорциональным и состовлял около половины размера (~ 4-5 гб). После того как сконфигурировал зеркало, ldf файл вырос до 19 гб (хотя сама база осталась около 8,4 гб). Причём это произошло за две недели.
Вопрос - Как производить обслуживание при сконфигурированном зеркале?

Также, как и любом другом типе raid массива. Количество информации, которое попадает в журнал не зависит от типа raid-а
3 июн 08, 10:30    [5750521]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
SergePnb
Member

Откуда: Киев
Сообщений: 456
Зеркало - это MIRRORING? Если да, то обратите внимание на то что, при разрыве соединиения principal database and the mirror database лог не усекается... Проверте все ли там в порядке.
3 июн 08, 10:32    [5750535]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Cheerful Calf
Member

Откуда: Lithuania
Сообщений: 6994
Да, зеркало - это MIRRORING. Размеры mdf и ldf файлов идентичны на обоих (принципал и мирор) серверах. Витнес инстанса нету, разве при разрыве соеденения в этом случа что должно происходить?
3 июн 08, 10:38    [5750574]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
SergePnb
Member

Откуда: Киев
Сообщений: 456
Database Mirroring Best Practices and Performance Considerations

Loss of the mirror
If the mirror fails, the principal continues functioning, but the mirroring state is DISCONNECTED and the principal is running exposed. Once the mirror database becomes operational, it automatically assumes the role of the mirror and starts synchronizing with the principal. For as long as the mirroring state stays DISCONNECTED, the transaction log space on the principal cannot be reused, even if you back up the transaction log. If the log file grows and reaches its maximum size limit or runs out of disk space, the complete database comes to a halt. To prevent this you have two options—either plan for enough disk space for the transaction log to grow and bring back the mirror database before the space fills up, or break the database mirroring session.


А вообще рекомендую пояитать эту SQL Server Technical Article. Очень полезная вещь.
3 июн 08, 10:49    [5750640]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Cheerful Calf
Member

Откуда: Lithuania
Сообщений: 6994
Glory
Также, как и любом другом типе raid массива.
А точнее?
3 июн 08, 10:57    [5750676]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Glory
Member

Откуда:
Сообщений: 104760
Cheerful Calf
Glory
Также, как и любом другом типе raid массива.
А точнее?

Точнее надо задавать вопрос. Потому, что mirroring дисков это не тоже самое, что sql database mirroring
3 июн 08, 11:02    [5750703]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Cheerful Calf
Member

Откуда: Lithuania
Сообщений: 6994
SergePnb
А вообще рекомендую пояитать эту SQL Server Technical Article. Очень полезная вещь.
Пока проглядел по диагонали (буду изучать) и насколько понял - вы говорите о файле зеркала. У меня такого не было, связь между серверами была постоянная, без перебоев....

2Glory, ага виноват. Озаботился database mirroing и забыл что бывают ещё и другие зеркала. Может подтолкнёте в нужном направлении учитывая последние уточнения?
3 июн 08, 11:04    [5750716]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
SergePnb
Member

Откуда: Киев
Сообщений: 456
Я просто обратил Ваше внимание на то что проблемма роста лога отмеченна в Database Mirroring Best Practices and Performance Considerations как побочный эффект "потери связи" между принципал и зеракльной базой. "Потеря связи" широкий термин, включающий в себя LAN, отказ мирроринга, остновка сервича и т.д. и т.п.
3 июн 08, 11:09    [5750738]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Cheerful Calf
Member

Откуда: Lithuania
Сообщений: 6994
прочитал.. что делать - не понял.
Нагуглил, что надо убрать зеркалирование, очистить лог файл, и сконфигурировать зеркалирование заново. Это правильно?
3 июн 08, 16:44    [5753793]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Cheerful Calf
Member

Откуда: Lithuania
Сообщений: 6994
ещё говорят, что надо делать
BACKUP LOG база TO DISK = 'nul'
Может, это правильно?
3 июн 08, 16:59    [5753975]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Glory
Member

Откуда:
Сообщений: 104760
BOL
BACKUP LOG { database_name | @database_name_var }
{
[ WITH
{ NO_LOG | TRUNCATE_ONLY } ]
}

NO_LOG | TRUNCATE_ONLY

Removes the inactive part of the log without making a backup copy of it and truncates the log. This option frees space. Specifying a backup device is unnecessary because the log backup is not saved. NO_LOG and TRUNCATE_ONLY are synonyms.

After backing up the log using either NO_LOG or TRUNCATE_ONLY, the changes recorded in the log are not recoverable. For recovery purposes, immediately execute BACKUP DATABASE
3 июн 08, 17:02    [5754010]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Cheerful Calf
Member

Откуда: Lithuania
Сообщений: 6994
Msg 3048, Level 16, State 1, Line 16
BACKUP LOG WITH TRUNCATE_ONLY cannot operate on database 'TESTDB1' because it is configured for database mirroring.
Msg 3013, Level 16, State 1, Line 16
BACKUP LOG is terminating abnormally.

Как очистить/уменьшить лог простой базы данных - понятно. Не понятно как это сделать для базы данных, которая сконфигурирована для DATABASE MIRRORING :(
3 июн 08, 17:18    [5754152]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Cheerful Calf
Member

Откуда: Lithuania
Сообщений: 6994
В тынце пишут, что
тынца
You will not be able to backup log with no_log or truncate_only when you have mirroring ON.
To avoid transaction log from growing, you need to disable the autogrowth on the log file.
You should do the normal log backups every 15 minutes or so.
Однако, у меня (если убрать autogrowth on) просто при выполнении скрипта
WHILE @i < 5000000000 BEGIN
INSERT INTO TESTTBL (sText) VALUES (@i)
SET @i = @i + 1               	
END
в опрделённый момент возникает ошибка 9002, говорящая что лог файл полный и дальнейшая работа невозможна.
Тема обслуживании зеркала не раскрыта...
3 июн 08, 17:31    [5754292]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Glory
Member

Откуда:
Сообщений: 104760
Cheerful Calf

в опрделённый момент возникает ошибка 9002, говорящая что лог файл полный и дальнейшая работа невозможна.

Ну так а где вы делаете backup log то ?
3 июн 08, 17:32    [5754300]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Cheerful Calf
Member

Откуда: Lithuania
Сообщений: 6994
Так какой бэкап?
BACKUP LOG TESTDB1 WITH NO_LOG
Сообщает об ошибке.
BACKUP LOG TESTDB1 TO DISK = 'null'
Проходит успешно, но размер лог файла от этого не уменьшается.
3 июн 08, 17:35    [5754326]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
https://www.sql.ru/articles/mssql/01062802ShrinkingTransactionLogSQLServer2K.shtml
Картинка с другого сайта.
3 июн 08, 17:37    [5754341]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Cheerful Calf
Member

Откуда: Lithuania
Сообщений: 6994
Knyazev Alexey
https://www.sql.ru/articles/mssql/01062802ShrinkingTransactionLogSQLServer2K.shtml
Картинка с другого сайта.
На 1-ом шаге ошибок не возникает, но не уменьшается размер файла. На втором
BACKUP LOG WITH TRUNCATE_ONLY cannot operate on database 'TESTDB1' because it is configured for database mirroring.
3 июн 08, 17:42    [5754386]     Ответить | Цитировать Сообщить модератору
 Re: Очистить *.ldf  [new]
Glory
Member

Откуда:
Сообщений: 104760
Cheerful Calf

BACKUP LOG TESTDB1 TO DISK = 'null'
Проходит успешно, но размер лог файла от этого не уменьшается.

Он и не должен уменьшать размер файла. Для уменьшение есть команда DBCC SHRINKFILE
3 июн 08, 17:45    [5754410]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить