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

Откуда: SPB
Сообщений: 954
Добрый день, друзья. Не пинайте, если туплю.
Ежедневно делаю фулл бекап, перед этим делаю шринк лога
alter database [dbname] set recovery simple
dbcc shrinkfile('logname')
alter database [dbname] set recovery full

Каждый час бекаплю лог. Все хорошо, все бекапится.
Тут возникла ситуация, что лог стал резко расти.
Проверяю командой dbcc sqlperf(logspace)

20999,99мб 91,58833%

Делаю шринк этой базы на тестовом сервере, но ничего не происходит. Размер не уменьшается. Как правильно уменьшить размер лога. Почему то считал, что после фуллбекапа размер лога должен уменьшаться.
Помогите разобраться пжс.
14 окт 14, 17:20    [16703276]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
RasimS
Member

Откуда: SPB
Сообщений: 954
RasimS,
забыл
сервер Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) Jun 28 2012 08:36:30 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
14 окт 14, 17:21    [16703280]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
Glory
Member

Откуда:
Сообщений: 104751
RasimS
перед этим делаю шринк лога

Зачем ? Да еще с изменением модели восстановления ?

RasimS
Как правильно уменьшить размер лога.

Завершить зависшую транзакцию сначала

RasimS
Почему то считал, что после фуллбекапа размер лога должен уменьшаться.

Вот откуда рождаются такие мифы ?
14 окт 14, 17:24    [16703302]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
RasimS
Member

Откуда: SPB
Сообщений: 954
Glory,

А как правильно найти и завершить подвисшую транзакцию?
14 окт 14, 17:34    [16703366]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
Glory
Member

Откуда:
Сообщений: 104751
dbcc opentran()
14 окт 14, 17:38    [16703384]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
tsdos
Member

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

SELECT session_id, Text
FROM sys.dm_exec_requests
cross apply sys.dm_exec_sql_text(sql_handle)

Посмотрите, не выполняется ли у Вас бекап, по базе.
14 окт 14, 17:38    [16703392]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
RasimS
Member

Откуда: SPB
Сообщений: 954
Glory,

Спасибо. Изучил функцию. Она выдает следующее сообщение
Replicated Transaction Information:
Oldest distributed LSN : (0:0:0)
Oldest non-distributed LSN : (452829:64:1)

Также запрос select log_reuse_wait,log_reuse_wait_desc from sys.databases дает результат
6 REPLICATION
Я так понимаю, что это как-то связано с репликацией. Но проблема вся в том, что БД не участвует ни в каких репликациях. Почему так произошло хз. Что делать тоже пока не понимаю. Дайте пжс наводку как быть?
14 окт 14, 18:45    [16703731]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
RasimS
Member

Откуда: SPB
Сообщений: 954
RasimS,

транзакции убил, лог почистил. Остался вопрос, почему такое произошло? Почему log_reuse_wait_desc стало REPLICATION,
если в репликациях не участвую.
Глори спасибо за помощь
14 окт 14, 18:57    [16703800]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31993
RasimS
Добрый день, друзья. Не пинайте, если туплю.
Ежедневно делаю фулл бекап, перед этим делаю шринк лога
alter database [dbname] set recovery simple
dbcc shrinkfile('logname')
alter database [dbname] set recovery full
Не нужно использовать полную модель, если вы не делаете бакап лога и просто лог иногда стираете. И тем более не нужно делать шринк, в любой модели.
14 окт 14, 20:12    [16704122]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
RasimS
Member

Откуда: SPB
Сообщений: 954
alexeyvg,

Я делаю бекас лога. Вы невнимательности прочитали первое сообщение.
14 окт 14, 20:45    [16704262]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
Glory
Member

Откуда:
Сообщений: 104751
RasimS
Почему log_reuse_wait_desc стало REPLICATION,
если в репликациях не участвую.

Если вы ничего не знаете про репликацию, то это не значит, что ее нет.

RasimS
Я делаю бекас лога.

Зачем при этом делать сжатие файла, да еще через смену модели восстановления ?
Вы вот знаете, что ваше смены моделей прерывают вашу цепочку бэкапов журнала ?
14 окт 14, 20:55    [16704307]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
NickAlex66
Member

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

Бедный SQL Server 2008 R2 (SP2), как только над ним не измываются...
14 окт 14, 23:05    [16704705]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
RasimS
Member

Откуда: SPB
Сообщений: 954
Glory,
Не знал. Буду разбираться. Этот скрипт неоднократно встречал на форумах. Конечно это не оправдание. )
Спасибо, что подсказали.
14 окт 14, 23:21    [16704797]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31993
RasimS
alexeyvg,

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

Переключение туда-обратно и сжатие в любом случае не нужно, чисто для замедления работы.

Кроме того, у вас создатся временной интервал, в на период которого восстановить базу невозможно, это некий минус (ну это ладно, минус скорее всего несущественный).
Glory
Вы вот знаете, что ваше смены моделей прерывают вашу цепочку бэкапов журнала ?
Он делает переключение перед полным бакапом, так что прерывание цепочки будет только между переключением и этим бакапом, так что не так страшно.

Хотя всё равно стрёмная вещь, рискованная (кроме того, что бесполезная). Рука дрогнула, последний полный бакап повредился - прощай, восстановление.
15 окт 14, 00:21    [16705034]     Ответить | Цитировать Сообщить модератору
 Re: Транзакшен лог.  [new]
RasimS
Member

Откуда: SPB
Сообщений: 954
alexeyvg,

Спасибо за подробное разъяснение.
15 окт 14, 17:27    [16709165]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить