Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
chertik83
Member

Откуда:
Сообщений: 72
а вот при бэкапе лога (задачи-создать резервную копию-тип рез. копии: журнал транзакций. В параметрах стоит точка "усеч журнал транзакций"), файл остался прежним по размеру.
14 сен 09, 14:36    [7655650]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
При бэкапе лога выполняется только удаление из него нактивной части лога. Уменьшения размера файла не производится. Если не ставить галку, то это будет аналогично выполнению иструкции с опцией NO_TRUNCATE.

Сообщение было отредактировано: 14 сен 09, 14:40
14 сен 09, 14:40    [7655676]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
pkarklin,

Разве удаление, разве SQL Server не просто помечает, что "все предшествующее самой ранней незавершенной транзакции на момент бэкапа" считать неактивным?
14 сен 09, 14:47    [7655735]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
chertik83
Member

Откуда:
Сообщений: 72
Блин, не понимаю!!! так как мне правильно обрезать или усечь лог?
14 сен 09, 14:48    [7655737]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
chertik83
Блин, не понимаю!!! так как мне правильно обрезать или усечь лог?


Физический файл можно умешить командой shrink.
Бэкап помечает, какую часть лога считать неиспользуемой.

Т.е. теоретически, сначала бэкап, потом шринк.

Гуру, поправьте, если что не так...

Только перед тем как делать шринк, подумайте, а оно надо??? Если завтра SQL Server опять будет выделять место на диске под лог, а на это время тратится.
14 сен 09, 14:51    [7655767]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
chertik83
Блин, не понимаю!!! так как мне правильно обрезать или усечь лог?

Вы сначала определитесь, что вы хотите сделать - усечь лог или сжать его. Потому что это две разные задачи, которые решаются разными командами.
14 сен 09, 14:51    [7655769]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Кудряшка,

Именно удаление неактивной части лога.
14 сен 09, 15:00    [7655831]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
chertik83
Member

Откуда:
Сообщений: 72
Кудряшка, спасибо!
Glory мне нужно чтобы файл лога превратился из 100 гигов в 10 метров.
14 сен 09, 15:00    [7655835]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
Glory
Member

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

Glory мне нужно чтобы файл лога превратился из 100 гигов в 10 метров.

Т.е. вам не нужны завершенные транзакции вообще ?
Вы не собираетесь их использовать для архивирования ?
14 сен 09, 15:06    [7655889]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
chertik83,

BOL->DBCC SHRINKFILE.

После этого обязательно полный бэкап, дабы последующие бэкапы логов представляли собой непрерывную цепочку.
14 сен 09, 15:07    [7655893]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
chertik83
Member

Откуда:
Сообщений: 72
pkarklin
chertik83,

BOL->DBCC SHRINKFILE.

После этого обязательно полный бэкап, дабы последующие бэкапы логов представляли собой непрерывную цепочку.

А если после этого сделать не полный, а дифференцированный бэкап?
14 сен 09, 15:11    [7655940]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
chertik83
Member

Откуда:
Сообщений: 72
Glory
chertik83

Glory мне нужно чтобы файл лога превратился из 100 гигов в 10 метров.

Т.е. вам не нужны завершенные транзакции вообще ?
Вы не собираетесь их использовать для архивирования ?

А для чего они могут быть нужны?
14 сен 09, 15:14    [7655960]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
chertik83
Glory
chertik83

Glory мне нужно чтобы файл лога превратился из 100 гигов в 10 метров.

Т.е. вам не нужны завершенные транзакции вообще ?
Вы не собираетесь их использовать для архивирования ?

А для чего они могут быть нужны?
Для того, что забэкапить и восстановить. Или вы с какой целью делаете бэкап лога?

Сообщение было отредактировано: 14 сен 09, 15:17
14 сен 09, 15:17    [7655991]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
chertik83,

Гм... Любое восстановление бд начинается с полного бэкапа (page restore здесь не рассматриваем). И только потом дифф и лог бэкапы.

После шринка у Вас будет разорвана цепочка бэкапов лога, поэтому необходимо выполнить полный бэкап, который станет у Вас отправной точкой для восстановления после шринка лога.

ЗЫ. Для выполнения дифф бэкапа достаточно и simple модели восстановления.
14 сен 09, 15:17    [7655993]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
Glory
Member

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

Glory мне нужно чтобы файл лога превратился из 100 гигов в 10 метров.

Т.е. вам не нужны завершенные транзакции вообще ?
Вы не собираетесь их использовать для архивирования ?

А для чего они могут быть нужны?

Ну например, для восстановления на конкретную временную или символьную метку.
14 сен 09, 15:18    [7656003]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
pkarklin
Кудряшка,

Именно удаление неактивной части лога.


Угу, это я с чем-то перепутала.
Сейчас сижу и думаю, с чем...

БОЛ

The log is backed up from the last successfully executed LOG backup to the current end of the log. After the log is backed up, the space may be truncated when no longer required by transactional replication or active transactions.
14 сен 09, 15:25    [7656078]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
chertik83
Member

Откуда:
Сообщений: 72
pkarklin У меня так организованы бэкапы: в понедельник утром 6:00 делается full, потом в 9:00 делается diff и потом через каждый час логи. На след день утром в 9:00 - diff и т.д. Так вот, если я например в среду обрежу лог в 14:30 и после этого сделаю diff backup в 14:40, за ним сделается автоматом log в 15:00. потом в 16:00... то если мне придется восстанавливать базу на 16:00, то я сначала восстановлю понедельничный full + diff после обрески лога и потом буду поочередно накатывать логи. База я думаю должна подняться на состояние среды 16:00.
14 сен 09, 15:30    [7656113]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
chertik83,

автор
База я думаю должна подняться на состояние среды 16:00.


Да. Я был не прав на счет

pkarklin
После шринка у Вас будет разорвана цепочка бэкапов лога, поэтому необходимо выполнить полный бэкап, который станет у Вас отправной точкой для восстановления после шринка лога.
14 сен 09, 15:59    [7656348]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
pkarklin
Кудряшка,

Именно удаление неактивной части лога.


Хммм...

Что-то я поторопилась с Вами согласиться.

автор

If log records were never deleted from the transaction log, the logical log would grow until it filled all the available space on the disks holding the physical log files. To reduce the size of the logical log, the transaction log is periodically truncated. In very early versions of SQL Server, truncating the log meant physically deleting the log records that were no longer needed for recovering or restoring a database. However, in recent versions, the truncation process just marks for reuse the space that was used by the old log records. The log records in this space are eventually overwritten by new log records.
14 сен 09, 16:06    [7656395]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Кудряшка,

Начиная с 2005 версии, действительно произошли изменения. Неактивная часть лога действительно не удаляется физически, а помечается как "свободное место", но с тем же конечным результатом - снять бэкап лога с этих "помеченных записей" уже не получится. Сделано это в первую очередь для увеличения быстродействия.
14 сен 09, 16:09    [7656416]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
pkarklin,

Ну я так и думала, что для быстродействия :)
Ну в общем, все хор:)
14 сен 09, 16:17    [7656481]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
Только странно... у меня возможно и не самая последняя версия БОЛ стоит и в моем локальном БОЛ написано именно то, что в цитате в моем сообщении выше.

В такой же статье здесь написано

БОЛ
Updated: 15 September 2007

If log records were never deleted from the transaction log, it would eventually fill all the disk space that is available to the physical log files. Log truncation automatically frees disk space for reuse by the transaction log.


???
14 сен 09, 16:22    [7656516]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Кудряшка,

Ну, собственно, я не вижу никаких противоречий. Просто под "frees disk space for reuse" начиная с 2005 кроется "marks for reuse the space".
14 сен 09, 16:28    [7656553]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
pkarklin,

Ага, просто не совсем четко. А так - противоречий никаких, да.
Вот я бы, например, читая первый раз, поняла, что информация именно удаляется при truncate.
14 сен 09, 16:32    [7656582]     Ответить | Цитировать Сообщить модератору
 Re: BACKUP LOG ... WITH TRUNCATE_ONLY в mssql 2008  [new]
chertik83
Member

Откуда:
Сообщений: 72
Ну наконец-то разобрались. Всем спасибо!
14 сен 09, 16:47    [7656706]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить