Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Stepan Razin
Member

Откуда:
Сообщений: 37
В общем, принудительное урезание логов переводом в Simple и обратно в FULL с надеждой, что при росте лога с нуля он начнет обрезаться при бэкапе - не помогло.

Лог вырастает до размера самой базы за 1 день, при бэкапе - он по-прежнему не усекается.

Вот это:
SELECT name, log_reuse_wait_desc FROM sys.databases WHERE recovery_model = 1


возвращает:

model NOTHING
base LOG_BACKUP
zup LOG_BACKUP
CBaseCRM_Fresh LOG_BACKUP
bc_092012 LOG_BACKUP
25 фев 14, 09:25    [15623659]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Вот с чего вы взяли, что файл журнала после бэкапа должен усекаться?
При неоднократнном резервном копировании журнала за время между двумя полными бэкапами файл может и не расти. Но вот размер его можно усечь только переводом в простую модель восстановления, либо шринком после бэкапирования журнала (но не гарантировано).
25 фев 14, 09:32    [15623686]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
http://msdn.microsoft.com/ru-ru/library/ms189085(v=sql.105).aspx
25 фев 14, 09:50    [15623754]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Stepan Razin
Member

Откуда:
Сообщений: 37
tpg
Вот с чего вы взяли, что файл журнала после бэкапа должен усекаться?
При неоднократнном резервном копировании журнала за время между двумя полными бэкапами файл может и не расти. Но вот размер его можно усечь только переводом в простую модель восстановления, либо шринком после бэкапирования журнала (но не гарантировано).


Да делаю я шринк после бэкапа. Делаю.
Результата ноль, несмотря на то, что в свойствах файла при вызове шринка из GUI несколько дней назад показывало, что в файле свободно 95%
25 фев 14, 10:36    [15624004]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Дедушка Ау
Guest
Stepan Razin,

А Initial Size проверьте. Может он виноват.
25 фев 14, 10:55    [15624107]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31823
Stepan Razin
Лог вырастает до размера самой базы за 1 день, при бэкапе - он по-прежнему не усекается.
Раз лог "вырастает за день", то он всё таки когда то усекается?
25 фев 14, 10:56    [15624123]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Stepan Razin
Member

Откуда:
Сообщений: 37
alexeyvg
Stepan Razin
Лог вырастает до размера самой базы за 1 день, при бэкапе - он по-прежнему не усекается.
Раз лог "вырастает за день", то он всё таки когда то усекается?


Нет, это я его в выходной убил переводом в SIMPLE и назад.
За понедельник лог вырос до 50 гигов при размере базы 20
25 фев 14, 11:02    [15624160]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Stepan Razin
tpg
Вот с чего вы взяли, что файл журнала после бэкапа должен усекаться?
При неоднократнном резервном копировании журнала за время между двумя полными бэкапами файл может и не расти. Но вот размер его можно усечь только переводом в простую модель восстановления, либо шринком после бэкапирования журнала (но не гарантировано).


Да делаю я шринк после бэкапа. Делаю.
Результата ноль, несмотря на то, что в свойствах файла при вызове шринка из GUI несколько дней назад показывало, что в файле свободно 95%
Вы всё ж так и не хотите читать документацию...
Печалька :(
25 фев 14, 11:19    [15624324]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Stepan Razin
Member

Откуда:
Сообщений: 37
tpg
Stepan Razin
пропущено...


Да делаю я шринк после бэкапа. Делаю.
Результата ноль, несмотря на то, что в свойствах файла при вызове шринка из GUI несколько дней назад показывало, что в файле свободно 95%
Вы всё ж так и не хотите читать документацию...
Печалька :(


В этих же базах, развернутых из бэкапов на аналогичном резервном сервере прекрасно усекают и сжимают логи "в ноль" после "бэкап+сжатие".

То есть взяли базу, сделали FULL+TL, развернули на запасном сервере, убедились, что лог по-прежнему большой, провели пару операций в базе, забэкапились-сжались - лог размером 1 мегабайт.

Читать документацию - всегда полезно и я ее читал.
Почему на соседнем сервере все ОК?
25 фев 14, 11:25    [15624373]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
invm
Member

Откуда: Москва
Сообщений: 9688
Вам уже писали, что:
1. Надо чаще делать резервные копии журнала транзакций (например, начать с 30 минутного интервала);
2. Не нужно усекать файл журнала.

Но вы упорно продолжаете долбиться головой об стену. А все из-за того, что таки не понимаете что такое полная модель восстановления, зачем она нужна и как работает резервное копирование журнала. Что ж, дело ваше...
25 фев 14, 11:28    [15624397]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Stepan Razin
Member

Откуда:
Сообщений: 37
invm
Вам уже писали, что:
1. Надо чаще делать резервные копии журнала транзакций (например, начать с 30 минутного интервала);
2. Не нужно усекать файл журнала.

Но вы упорно продолжаете долбиться головой об стену. А все из-за того, что таки не понимаете что такое полная модель восстановления, зачем она нужна и как работает резервное копирование журнала. Что ж, дело ваше...


Все проверю, спасибо!

Я не понял вашей фразы про "потерю дня работы" в ответ на то, что я бэкаплюю лог раз в день.
А для чего я тогда лог бэкаплю? Если бы я не делал бэкап лога, а делал только разностный архив - тогда мысль понятна.
25 фев 14, 11:39    [15624495]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Glory
Member

Откуда:
Сообщений: 104751
Stepan Razin
А для чего я тогда лог бэкаплю?

Для галочки наверное.
Ведь никто не думал, как вы будете восстанвливать базу при сбое и что именно вы получите в результате

Вы можете провести тест в ситуациях,
- когда сервер падает за минуту до полного бэкапа
- когда сервер падает за минуту до бэкапа лога
25 фев 14, 11:43    [15624533]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Stepan Razin
Member

Откуда:
Сообщений: 37
Glory, а-а-а, теперь понял, что имелось в виду.
25 фев 14, 11:51    [15624598]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Stepan Razin
Member

Откуда:
Сообщений: 37
Glory
Stepan Razin
А для чего я тогда лог бэкаплю?

Для галочки наверное.
Ведь никто не думал, как вы будете восстанвливать базу при сбое и что именно вы получите в результате

Вы можете провести тест в ситуациях,
- когда сервер падает за минуту до полного бэкапа
- когда сервер падает за минуту до бэкапа лога


В случае падения за минуту до полного - есть прошлый полный и разностные.

А вот за минуту до лога - согласен.
25 фев 14, 11:52    [15624608]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
invm
Member

Откуда: Москва
Сообщений: 9688
Stepan Razin
Я не понял вашей фразы про "потерю дня работы" в ответ на то, что я бэкаплюю лог раз в день.
А для чего я тогда лог бэкаплю? Если бы я не делал бэкап лога, а делал только разностный архив - тогда мысль понятна.
Рассмотрим пример:
1. У вас есть полный бекап + бекап лога, сделанные в воскресенье ночью.
2. У вас есть разностный бекап + бекап лога, сделанные в понедельник ночью.
3. Во вторник вечером произошел сбой, повлекший за собой неработоспособность БД. Требуется восстановление из резервной копии.

Вопрос к вам: На какой ближайший к времени сбоя момент вы сможете восстановиться?
25 фев 14, 11:54    [15624617]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Glory
Member

Откуда:
Сообщений: 104751
Stepan Razin
В случае падения за минуту до полного - есть прошлый полный и разностные.

Вопрос не только в том, что у вас есть.
А еще и в том, а какое состояние базы требуется получить.
Можно и на год назад восстановить состояние и сказать, ну дык вот, восстановилось.
25 фев 14, 11:55    [15624622]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31823
Stepan Razin
Я не понял вашей фразы про "потерю дня работы" в ответ на то, что я бэкаплюю лог раз в день.
Смысла нету бакапить лог раз в сутки. Зачем вам бакап лога, если у вас есть полный бакап? Вы же всё равно не сможете восстановиться на любой момент времени.
При этом вы занимаете диск ненужным логом, да ещё и хотите его постоянно ужимать (тем самым увеличивая нагрузку на дисковую систему).

Вам нужно решить, какой период времени вам будет некритично потерять, и соответственно:
- если этот период сутки, то ограничиться полным и дифф. бакапами и перевести базу в симпл.
- если этот период меньше (например, 30 минут), то нужно базу в режим FULL, раз в сутки делать полный/дифф бакап, раз в 30 минут (или сколько надо) - бакап лога.

Про регулярный шринк по любому нужно забыть, оставив его для черезвычайных ситуаций, как и положено.
25 фев 14, 12:57    [15625085]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31823
alexeyvg
Зачем вам бакап лога, если у вас есть полный бакап? Вы же всё равно не сможете восстановиться на любой момент времени.
Немного неточно - это может пригодиться, если нужно восстановить базу на любой момент времени между двумя полными бакапами. Но это менее востребовано.
25 фев 14, 12:58    [15625093]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Stepan Razin
Member

Откуда:
Сообщений: 37
alexeyvg
alexeyvg
Зачем вам бакап лога, если у вас есть полный бакап? Вы же всё равно не сможете восстановиться на любой момент времени.
Немного неточно - это может пригодиться, если нужно восстановить базу на любой момент времени между двумя полными бакапами. Но это менее востребовано.


Именно это нужно.
Спасибо за ответ выше.

Политику бэкапа в любом случае пересмотрю, сейчас пока имею FULL раз в неделю (со сроком хранения 15 дней) + Diff раз в сутки (со сроком хранения 20 дней на случай если вдруг предыдущий FULL не сделался.
Таким образом откатиться я всегда могу на любой день в течение 2-х недель.

Впрочем, это уже про политику бэкапа.
Почему лог не урезается даже после полного освобождения SQL-Server от пользователей и создания всех бэкапов несколько раз - я все равно не понимаю.
25 фев 14, 14:51    [15626200]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Glory
Member

Откуда:
Сообщений: 104751
Stepan Razin
Почему лог не урезается даже после полного освобождения SQL-Server от пользователей и создания всех бэкапов несколько раз - я все равно не понимаю.

Есть усечение лога - log truncating
И есть сжатие лога - log shrinking
А что вы именуете "урезанием лога" ?
25 фев 14, 14:55    [15626229]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31823
Stepan Razin
Почему лог не урезается даже после полного освобождения SQL-Server от пользователей и создания всех бэкапов несколько раз - я все равно не понимаю.
Кто ж знает... Вы даже команду "урезания" не показали...
25 фев 14, 15:38    [15626639]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Stepan Razin
Member

Откуда:
Сообщений: 37
alexeyvg
Stepan Razin
Почему лог не урезается даже после полного освобождения SQL-Server от пользователей и создания всех бэкапов несколько раз - я все равно не понимаю.
Кто ж знает... Вы даже команду "урезания" не показали...


Если в GUI вызвать команду сжатия файла лога - то для лога размером 47 Гб отображается: "Доступное свободное место 47004,26 МБ (99 %)"

Выполняем подряд:

BACKUP DATABASE [base] TO  DISK = N'D:\Base-FULL.trn' WITH NOFORMAT, INIT,  NAME = N'base-Полная База данных Резервное копирование', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO


BACKUP LOG [base] TO  DISK = N'D:\Base-Transaction-Log.trn' WITH NOFORMAT, INIT,  NAME = N'base-Журнал транзакций  Резервное копирование', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

USE [base]
GO
DBCC SHRINKDATABASE(N'base' )
GO

USE [base]
GO
DBCC SHRINKFILE (N'base_log' , 0, TRUNCATEONLY)
GO


На резервном сервере, куда для теста восстановили полный архив файл лога уменьшается до 1 Мб.
На рабочем, даже ночью, когда никто не работает - остается размером 47 гигов
25 фев 14, 16:33    [15627214]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Stepan Razin
Member

Откуда:
Сообщений: 37
Stepan Razin,

очепятался:

BACKUP DATABASE [base] TO  DISK = N'D:\Base-FULL.trn'..............


Но имя не принципиально
25 фев 14, 16:35    [15627231]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
Дедушка Ау
Guest
Stepan Razin,

ALTER DATABASE YouDatabaseName
MODIFY FILE (NAME = LogicalLogFileName, SIZE = 1MB);

Думаю счастье будет.
Сам один раз так мучился, ну не шринкался лог меньше 2-х гиг ибо не может он ужаться меньше изначального размера.
25 фев 14, 17:13    [15627614]     Ответить | Цитировать Сообщить модератору
 Re: SQL2008, не усекаются журналы транзакций после FULL+Log_Backup+Shrink на всех FULL-базах  [new]
o-o
Guest
Дедушка Ау
Stepan Razin,

ALTER DATABASE YouDatabaseName
MODIFY FILE (NAME = LogicalLogFileName, SIZE = 1MB);

Думаю счастье будет.
Сам один раз так мучился, ну не шринкался лог меньше 2-х гиг ибо не может он ужаться меньше изначального размера.


а у меня почему-то не получается,
пишет:
Msg 5039, Level 16, State 1, Line 1
MODIFY FILE failed. Specified size is less than or equal to current size.


а в хэлпе вот такое по этому поводу:

ALTER DATABASE database_name
...
MODIFY FILE
Specifies the file that should be modified. Only one <filespec> property can be changed at a time. NAME must always be specified in the <filespec> to identify the file to be modified. If SIZE is specified, the new size must be larger than the current file size.
----------------------
ТС, а что выдает в этой базе DBCC LOGINFO ?
25 фев 14, 18:32    [15628256]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить