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

Откуда: Сидней
Сообщений: 1190
База Distribution выросла до 226ГБ, файл данных почти полный, лог - пустой.

90% записей в MSrepl_commands принадлежит одной базе.

Из этих записей 86% принадлежит трем таблицам, они включены в две разные публикации, поэтому повторяются два раза под разными article_id.

Джоба [Distribution clean up: distribution] отрабатывает нормально. Число команд (undistributed commands) близко к нулю.

Почему уже отреплицированные данные не очищаются из базы Distribution?

Спасибо.
5 июл 12, 09:31    [12820089]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
А точно у вас нет отвалившихся подписчиков?
5 июл 12, 09:44    [12820146]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
Нету, оба подписчика активны и реплицируют данные.
5 июл 12, 09:59    [12820233]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
GloryV
Member

Откуда:
Сообщений: 33
DBCC ShrinkFile
5 июл 12, 10:42    [12820495]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
GloryV
DBCC ShrinkFile


Это не работает, ибо минимальный размер около 220ГБ
5 июл 12, 10:55    [12820592]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Crimean
Member

Откуда:
Сообщений: 13147
а агенты очистки не валятся с ошибками? и вообще отрабатывают? это их задача - чистить доставленное
5 июл 12, 11:04    [12820674]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
invm
Member

Откуда: Москва
Сообщений: 9785
1. select @@version
2. select * from MSdistribution_status и посмотреть на значения в столбце UndelivCmdsInDistDB
5 июл 12, 11:11    [12820708]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
В контексте публикуемой базы что вернет DBCC OPENTRAN ?
5 июл 12, 11:13    [12820731]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
Crimean
а агенты очистки не валятся с ошибками? и вообще отрабатывают? это их задача - чистить доставленное


Я в самом начале сказал:
"Джоба [Distribution clean up: distribution] отрабатывает нормально."
5 июл 12, 11:26    [12820797]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
tpg
В контексте публикуемой базы что вернет DBCC OPENTRAN ?



Transaction information for database 'MyDB'.

Replicated Transaction Information:
Oldest distributed LSN : (190966:1956:4)
Oldest non-distributed LSN : (0:0:0)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
5 июл 12, 11:29    [12820818]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
invm
1. select @@version
2. select * from MSdistribution_status и посмотреть на значения в столбце UndelivCmdsInDistDB


Версия:
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1765.0 (X64) Feb 2 2011 17:33:22 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 <X64> (Build 3790: Service Pack 2)


Второй запрос очень долго идет. Как выполнится выложу результат.
5 июл 12, 11:31    [12820833]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
invm
Member

Откуда: Москва
Сообщений: 9785
И еще приведите результат
exec sp_helpdistributor;
5 июл 12, 11:43    [12820907]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
invm
И еще приведите результат
exec sp_helpdistributor;


distributor,distribution database,directory,account,min distrib retention,max distrib retention,history retention,history cleanup agent,distribution cleanup agent,rpc server name,rpc login name,publisher type
MyServer,distribution,\\MyServerIP\U$\SQLRep,Mydomain\sqlserveraccount,48,96,48,Agent history clean up: distribution,Distribution clean up: distribution,repl_distributor,distributor_admin,MSSQLSERVER



Тот запрос все еще выполняется.
5 июл 12, 11:48    [12820947]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
invm
2. select * from MSdistribution_status и посмотреть на значения в столбце UndelivCmdsInDistDB


Запустил:

select top 10 * from MSdistribution_status (nolock)

Выполняется уже 8 минут, блокировок на сервере нет. Странно.
5 июл 12, 11:55    [12820998]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Roust_m
tpg
В контексте публикуемой базы что вернет DBCC OPENTRAN ?



Transaction information for database 'MyDB'.

Replicated Transaction Information:
Oldest distributed LSN : (190966:1956:4)
Oldest non-distributed LSN : (0:0:0)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Чото видать как-то криво снесли какого-то подписчика...
5 июл 12, 12:14    [12821200]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
tpg
Roust_m
пропущено...



Transaction information for database 'MyDB'.

Replicated Transaction Information:
Oldest distributed LSN : (190966:1956:4)
Oldest non-distributed LSN : (0:0:0)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Чото видать как-то криво снесли какого-то подписчика...


А откуда это видать? И как найти подписчика и команды к нему относящиеся? Тогда их можно просто удалить из таблицы MSRepl_commands, наверное...
5 июл 12, 12:27    [12821321]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Roust_m
А откуда это видать?...
Вот если бы никакой "застрявшей" транзакции не было, то вы бы пролучили только сообщение: DBCC execution completed. If DBCC printed error messages, contact your system administrator.
5 июл 12, 12:37    [12821413]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
tpg
Roust_m
А откуда это видать?...
Вот если бы никакой "застрявшей" транзакции не было, то вы бы пролучили только сообщение: DBCC execution completed. If DBCC printed error messages, contact your system administrator.


Ну хорошо, кто виноват мы выяснили, а теперь осталось понять что делать.
5 июл 12, 12:39    [12821441]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
invm
Member

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

Нету к вас "застрявших" транзакций, иначе Oldest non-distributed LSN был бы не 0:0:0
5 июл 12, 12:41    [12821470]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
Roust_m
invm
2. select * from MSdistribution_status и посмотреть на значения в столбце UndelivCmdsInDistDB


Запустил:

select top 10 * from MSdistribution_status (nolock)

Выполняется уже 8 минут, блокировок на сервере нет. Странно.


Поставил (MaxDop 1) и смог вытащить все значения (после почти получаса)

Вот 10 самых больших значений для UndelivCmdsInDistDB:

article_id agent_id UndelivCmdsInDistDB DelivCmdsInDistDB
38	 404	 101435	 160
36	 404	 26262	 0
32	 583	 13451	 2109052
35	 404	 12484	 9591
24	 404	 8407	 6925
24	 583	 4055	 1228380
83	 579	 3299	 2618978
32	 404	 2509	 2364
80	 579	 1797	 736248
41	 628	 1750	 941546


Сумма всех значений UndelivCmdsInDistDB 209851 Это никак не соотносится с размером базы больше 200ГБ.

Те articles, которые сжирают большую часть базы ВСЕ имеют UndelivCmdsInDistDB равное нулю.
5 июл 12, 12:56    [12821612]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
Кстати, пока мы тут это обсуждали, минимальный размер файла данных на базе Distribution упал до 196 ГБ, а был около 220ГБ.

Там нет такого, что за один заход джоб по очистки базы удаляет не все, что было distibuted, а тока некоторую часть, чтобы длительные блокировки не вызывать?
5 июл 12, 13:04    [12821685]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
Ладна, пора мне домой, посмотрим что завтра с этой базой будет, может сама очистится.
5 июл 12, 13:10    [12821721]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1190
В общем сегодня утром минимальный размер файла упал до 60ГБ. Я так понимаю, что эти команды хранятся на дистрибьютере какое-то время после того как они были отреплецированы на подписчике. У нас недавно залили большое количество данных и база заполнилась. Нужно было чтобы она очистилась как можно быстрее чтобы можно было залить еще.

Интересно если поменять "min distrib retention" то поможет ли это в моей ситуации?
6 июл 12, 04:52    [12825970]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
alsov
Member

Откуда: Санкт-Петербург
Сообщений: 153
На дистибуторе в студии на Local Publication в попап менюхе пункт Distributor Properties

Поиграйтесь с History Retention.
6 июл 12, 09:25    [12826366]     Ответить | Цитировать Сообщить модератору
 Re: База Distribution выросла и не очищается  [new]
alsov
Member

Откуда: Санкт-Петербург
Сообщений: 153
Ну или после большой транзакции

EXEC dbo.sp_MShistory_cleanup @history_retention = 0
6 июл 12, 09:27    [12826384]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить