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

Откуда: Москва
Сообщений: 243
Добрый день!
Есть n количество баз 1С которые вертятся на
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2550.0 (X64) Jun 11 2012 16:41:53 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

Модель восстановления на базах стоит полная.
Каждые сутки выполняется полный бэкап всех баз.Каждые два часа выполняется бэкап журнала транзакций.
Прочитал, что при бэкапе журнал транзакций усекается сам журнал транзакций.
Командной DBCC SQLPERF(LOGSPACE); выяснил, что
Database Name Log Size (MB) Log Space Used (%) Status
db1 2739805 06391237 0
db2 2580805 07051761 0
db3 4080805 03594262 0
db4 4130805 04848055 0
db5 2567305 05172276 0


Так как диск не резиновый(в примере не все базы) и еще одно пока нету приходится бороться за каждый метр(это отдельная тема).
Создано плановое задание с помощь Maintenance Plans, которые периодически режет лог транзакции. После чего он снова начинает расти. Постоянно урезать лог не выход из данной ситуации.
Как можно отследить за счет чего он так растет и что с этим можно сделать?
24 ноя 14, 14:34    [16896580]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
BKV88,

Database Name Log Size (MB) Log Space Used (%) Status
db1 2739.805 0.6391237 0
db2 2580.805 0.7051761 0
db3 4080.805 0.3594262 0
db4 4130.805 0.4848055 0
db5 2567.305 0.5172276 0
24 ноя 14, 14:35    [16896596]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Glory
Member

Откуда:
Сообщений: 104760
BKV88
Создано плановое задание с помощь Maintenance Plans, которые периодически режет лог транзакции. После чего он снова начинает расти. Постоянно урезать лог не выход из данной ситуации.

И что же оно "режет", если у вас все журнала использованы меньше 1-го процента ?
24 ноя 14, 14:38    [16896625]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Glory,

Возможно не правильно выразился.
Он обратно отдает место дисковой подсистеме.
24 ноя 14, 14:42    [16896655]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Glory
Member

Откуда:
Сообщений: 104760
BKV88
Он обратно отдает место дисковой подсистеме.

"Он" - это что за команда ?
И что "он" отдает, если у вас размеры файлов журнала от 2.5Гб до 4Гб ?
24 ноя 14, 14:44    [16896669]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Glory,

DBCC SHRINKDATABASE сокращает файл лога до 100 метров примерно.
Я конечно понимаю, что с Вашей точки зрения я не грамотно это описываю.
24 ноя 14, 14:47    [16896701]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Glory
Member

Откуда:
Сообщений: 104760
BKV88
DBCC SHRINKDATABASE сокращает файл лога до 100 метров примерно.
Я конечно понимаю, что с Вашей точки зрения я не грамотно это описываю.

И вы хотите, чтобы журнал не рос больше 100Мб что ли ?
24 ноя 14, 14:49    [16896720]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Glory
Member

Откуда:
Сообщений: 104760
И кстати DBCC SHRINKDATABASE сжимает все файлы базы, а не только журнал
Вы это специально делаете ?
24 ноя 14, 14:50    [16896733]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Glory,

По поводу то, что сжимает все файлы базы знаю.
Чтобы он не рос свыше 100мб об этом речь не идет.
В данном случае я хочу отследить за счет чего файл транзакций принимает такой размер хотя по факту заполнен <1%
24 ноя 14, 14:54    [16896775]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Glory
Member

Откуда:
Сообщений: 104760
BKV88
В данном случае я хочу отследить за счет чего файл транзакций принимает такой размер хотя по факту заполнен <1%

За счет команд, которые пишут в журнал
Эта любая команда, изменяющая данные.
Вы вот, например, знаете установки приращения вашего журнала ?
24 ноя 14, 14:56    [16896796]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Glory,

Размер прироста каждого лога примерно 30мб.
Как можно посмотреть те изменения, которые попадают в журнал?
24 ноя 14, 15:08    [16896941]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Glory
Member

Откуда:
Сообщений: 104760
BKV88
Как можно посмотреть те изменения, которые попадают в журнал?

Там ВСЕ изменения
24 ноя 14, 15:10    [16896959]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Glory,

Я понимаю, что все.
Как можно прочитать лог транзакции?
24 ноя 14, 15:10    [16896968]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Glory
Member

Откуда:
Сообщений: 104760
BKV88
Как можно прочитать лог транзакции?

Что именно вы оттуда хотите прочитать то ?
Список команд с именами пользователей и ссылкой на пункт меню 1С что ли ?
24 ноя 14, 15:12    [16896985]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
BKV88, при полной модели журнал всегда растет, пока не упрется в ограничение диска или заданную в настройках границу.
24 ноя 14, 15:19    [16897041]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Владислав Колосов,

Получается как вариант заменить модель восстановления на простую?
И тем самым заменить бэкап лога транзакций, который не может быть сделан на простой модели на дифференциальный бэкап?
24 ноя 14, 15:23    [16897071]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
o-o
Guest
Владислав Колосов забыл дописать, что лог еще усекается при его бэкапировании, к-ое вы и делаете.
(здесь "усекается" в смысле "перезаписывается", а не "уменьшается в размерах")
может, вам его стОит бэкапить чаще?
а модель выбирают из соображений, за какое время допустимо данные потерять.

с дифференциальными бэкапами вы сможете восстановиться только на время последнего диф. бэкапа,
т.е. если будете их делать каждые 2 часа, и за минуту до очередного у вас сбой,
вы 2 часа работы потеряете.
в полной же модели, если удастся сделать бэкап уцелевшего лога, вы восстановитесь на последний момент перед сбоем
24 ноя 14, 15:49    [16897216]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Glory
Member

Откуда:
Сообщений: 104760
BKV88
Получается как вариант заменить модель восстановления на простую?

Если журнал заполняется быстрее, чем происходят его бэкапы, то наверное надо делать бэкапы чаще
Если разумеется вас вообще нужны бэкапы журнала.
Вы вот какими мотивами руководствалвались, когда выбирали модель архивирования и модель восстановления ?
24 ноя 14, 15:55    [16897263]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Glory,

Принимал решение о модели восстановления не я.
Я занимаюсь этим постольку поскольку.
Ответственный за это человек решил не эксперементировать и не менять модель восстановления.
По поводу делать бэкапы хорошее предложение. Встает вопрос насколько часто.
Можно как-нибудь отследить в какой промежуток происходит прирост файла?
24 ноя 14, 16:08    [16897373]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Glory
Member

Откуда:
Сообщений: 104760
BKV88
Можно как-нибудь отследить в какой промежуток происходит прирост файла?

Прирост файла у вас будет происходить постоянно
А следить вам надо за размером файла и его заполненностью

BKV88
Размер прироста каждого лога примерно 30мб.

Кстати, что это за "примерно 30Мб" ?
Тип и размер приращения файлов не примерные, а вполне конкретные параметры базы
24 ноя 14, 16:12    [16897413]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
BKV88
Можно как-нибудь отследить в какой промежуток происходит прирост файла?

Можно посмотреть в default trace, если он включен.
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

DECLARE @filename VARCHAR(500) 
SELECT @filename = SUBSTRING(path, 0,LEN(path) - CHARINDEX('\',REVERSE(path)) + 1)+ '\Log.trc'
FROM sys.traces
WHERE is_default = 1 ;

SELECT
  te.Name AS EventName
  ,LoginName
  ,ApplicationName
  ,HostName
  ,ClientProcessID AS ProcessID
  ,DatabaseName
  ,StartTime
  ,Filename
  ,IntegerData/128 [Size MB]
  ,CAST(Duration/1000000. AS DECIMAL(20,2)) AS [Duration sec]
  ,EndTime
  ,SPID
FROM fn_trace_gettable(@fileName, DEFAULT) gt 
  INNER JOIN sys.trace_events te ON EventClass = te.trace_event_id 
WHERE EventClass IN(93) -- Log File Auto Grow
ORDER BY StartTime DESC
24 ноя 14, 23:57    [16899410]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Glory,
Примерно 30мб это я ориентировочно сказал по всем базам.
Я знаю, что прирост базы- это конкретное значение
24 ноя 14, 23:59    [16899421]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Mind,

Спасибо.
Воспользуюсь Вашим советом.
25 ноя 14, 00:00    [16899424]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Glory
Member

Откуда:
Сообщений: 104760
BKV88
Примерно 30мб это я ориентировочно сказал по всем базам.
Я знаю, что прирост базы- это конкретное значение

И что вы знаете эти конкрентные значения ?
30Мб для быстрорастущего лога со множеством транзакций - это идиотизм.
Это значит, что чуть ли не каждая транзакция многократно вызывает расширение журнала
25 ноя 14, 09:27    [16900071]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание лога транзакций в базах 1С  [new]
Nonname
Member

Откуда:
Сообщений: 9
Для начала нужно понять что есть лог транзакций, по сути туда пишутся все операции изменения данных, это выглядит примерно как: в каких страницах данных что поменялось и что на что заменилось. Отсюда надо искать какие именно операции вызывают заметный рост лога, чаще всего это либо переиндексация либо какие-то массовые вставки\адейты, получается при полной модели восстановления, лог файл занимает место примерно равное максимальному объему данных за промежуток между бекапами.
26 ноя 14, 17:37    [16909681]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить