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

Откуда:
Сообщений: 591
Коллеги!
Есть проблема такого плана:

1. Есть база, которая обновляется раз в месяц таким образом:
-- часть таблиц очищается TRUNCATE TABLE
-- часть таблиц очищается через DELETE

2. Эта БД является в реплике публикатором на который подписан 1 подписчик.

3. С этой БД никто не работает напрямую, только на подписчике. Эта БД исключительно хранилище.

Проблема такая:
у публикатора растет лог сумашедшими темпами, не шринкается вообще и т.п.

Вопрос:
1. Как понять где проблема?
13 дек 18, 14:18    [21762974]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
Владислав Колосов
Member

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

мое мнение - не работает репликация.
13 дек 18, 14:25    [21762989]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
select log_reuse_wait_desc
from sys.databases
where name = 'your_db_name';
13 дек 18, 14:27    [21762996]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
RegisteredUser
Member

Откуда:
Сообщений: 591
Yasha123
select log_reuse_wait_desc
from sys.databases
where name = 'your_db_name';

лаконично:

REPLICATION
13 дек 18, 14:59    [21763060]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
RegisteredUser
Member

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

мое мнение - не работает репликация.


но данные на подписчике есть и обновляются постоянно.
13 дек 18, 15:00    [21763062]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
invm
Member

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

Покажите результат
select @@version;
И на проблемной БД
dbcc opentran();
select name, repl_freq from syspublications;
13 дек 18, 15:22    [21763096]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
RegisteredUser
Member

Откуда:
Сообщений: 591
invm
RegisteredUser,

Покажите результат
select @@version;
И на проблемной БД
dbcc opentran();
select name, repl_freq from syspublications;


select @@version;
--Microsoft SQL Server 2016 (SP2-CU4) (KB4464106) - 13.0.5233.0 (X64)   Nov  3 2018 00:01:54  
--Copyright (c) Microsoft Corporation  Standard Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: ) (Hypervisor) 

dbcc opentran();

--Transaction information for database 'OffDB'.

--Replicated Transaction Information:
--        Oldest distributed LSN     : (0:0:0)
--        Oldest non-distributed LSN : (292662:529:1)
--DBCC execution completed. If DBCC printed error messages, contact your system administrator.

select name, repl_freq from syspublications;
-- pb2OffDB		1
13 дек 18, 15:30    [21763109]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
invm
Member

Откуда: Москва
Сообщений: 9349
У вас репликация снимка, а не транзакционная. С включенной опцией "Replicate DDL"

https://blogs.msdn.microsoft.com/sqlserverfaq/2009/06/01/size-of-the-transaction-log-increasing-and-cannot-be-truncated-or-shrinked-due-to-snapshot-replication/
Как лечить написано в конце статьи.
13 дек 18, 15:40    [21763127]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
RegisteredUser
Member

Откуда:
Сообщений: 591
invm
У вас репликация снимка, а не транзакционная. С включенной опцией "Replicate DDL"

https://blogs.msdn.microsoft.com/sqlserverfaq/2009/06/01/size-of-the-transaction-log-increasing-and-cannot-be-truncated-or-shrinked-due-to-snapshot-replication/
Как лечить написано в конце статьи.


спасибо.
на днях попробуем и я отпишу сюда результат.
14 дек 18, 14:37    [21764068]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
RegisteredUser
Member

Откуда:
Сообщений: 591
Кстати, чтобы не плодить темы связанные по смыслу, спрошу тут:
есть способ принудительно усечь раздутый лог?

стандартный Shrink, повторюсь, не помогает никак.
14 дек 18, 14:40    [21764074]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
Владислав Колосов
Member

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

зависит от модели восстановления.
14 дек 18, 15:17    [21764126]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
Владислав Колосов
Member

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

причина, по которой журнал нельзя сжать, определяется запросом:

select name, log_reuse_wait_desc from sys.databases
14 дек 18, 15:20    [21764129]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
RegisteredUser
Member

Откуда:
Сообщений: 591
Итак получилось.
Пока только сделали руками, посмотрим как будет вести себя лог дальше, и если, что то автоматизируем этот подход.

итак
у нас есть регулярно растущий лог на БД, которая является просто хранилищем данных и перезаливается на 90% каждый месяц.
эта БД является паблишером для snapshot репликации
больше с ней никто не работает.

1. на всякий случай (пока не знаю нужно ли это) поставили
replicate_ddl = 0

2. выполнили sp_repldone null, null, 0,0,1

3. сделали стандартный Shrink Log файла (был 32 Гига урезали до 1 Гига)
15 дек 18, 00:00    [21764558]     Ответить | Цитировать Сообщить модератору
 Re: База-хранилище на реплике: растет лог  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7360
RegisteredUser
(был 32 Гига урезали до 1 Гига)
Че такой большой, 1GB?
15 дек 18, 00:05    [21764564]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить