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

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Всем доброе время суток.
Ранее уже пытался решить эту проблему, но так и не нашёл возможности.

Суть такая.
Переодически обнаруживаю что у базы в репликации растёт лог.
Запуская
dbcc opentran;

вижу

Messages
Transaction information for database 'ukRacing'.

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



Далее
запуская

select log_reuse_wait_desc
from sys.databases
where name = 'ukRacing'

вижу
REPLICATION


До этого был прицедент что запускал

sp_removedbreplication 'ukRacing', 'tran'

Но оно удаляло и Snapshot репликацию и её необходисо было настраивать заново.

Далее ошибка повторялась.

Покак переодически финксю методом
exec sp_repldone @xactid = null, @xact_segno = null, @numtrans = 0, @time = 0, @reset = 1;


Но хотелось бы понять причны проблемы.

Ошбок репликации в целом нет, хотя я не могу гарантировать что только я туда 100% лазил и мог быть вариант когда добавили колонку к таблице, репликация не прошла, а потом добавили во второй.
Так же могут быть перезапуски и т. п.

Заранее спасибо!
19 авг 13, 14:17    [14725699]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
Glory
Member

Откуда:
Сообщений: 104760
NIIIK
Ошбок репликации в целом нет, хотя я не могу гарантировать что только я туда 100% лазил и мог быть вариант когда добавили колонку к таблице, репликация не прошла, а потом добавили во второй.
Так же могут быть перезапуски и т. п.

Начните с анализа результатов sp_repltrans и sp_replcmds
19 авг 13, 14:25    [14725739]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Первая видыла

xdesid xact_seqno
0x0000662A00001F4C00010x0000662A000020660001


Вторая

article idpartial_commandcommandxactidxact_seqnopublication_idcommand_idcommand_typeoriginator_srvnameoriginator_dbpkHashoriginar_publication_idoriginator_db_versionoriginator_lsn
000x0x0000662A00001F4C0001 0x0000662A0000206600010100NULLNULLNULL


Я не хакер, даже не на хакера учусь, но догадываюсь что надо найти причину висящей транзакции.
19 авг 13, 15:25    [14726122]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
Size of the Transaction Log Increasing and cannot be truncated or Shrinked due to Snapshot Replication.
?
19 авг 13, 19:45    [14727512]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
интересующиеся
Guest
а нам-то расскажите, что это было.
если то, что в статье, то

In order to confirm whether we are hitting the issue mentioned above we need to check whether that undistributed LSN (113371:150857:1)
provided in DBCC OPENTRAN output is pointing to DDL operations of type ALTER TABLE

в след.раз, как случится, посмотрите сразу
select operation, [Transaction Name]
from sys.fn_dblog(113371000015085700001, 113371000015085700001)
20 авг 13, 17:33    [14732178]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Просмотр лога выдаёт

LOP_BEGIN_XACT ALTER TABLE

А в рекликации свойство

Replicate schema changes = True

хотя в репликации слаб и слабо понимаю как они могут быть "правильно реплицированны", если выполнять только DDL скрипты, например, если я добавляю НОТ НУЛЛ колонку, которую сначала добавляю как null able, а потом выполняю скрипт "устновить значение", а потом только делаю alter на not null.

Собственно свойство по факту вредное, там ведь целая логика может быть, тем более если кто-то полезит в базу незная о репликации.

Как посмотреть какой конкретно запрос (DDL ) был выполнен?
20 авг 13, 20:55    [14732767]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
NIIIK
Собственно свойство по факту вредное
Несколько самонадеянное заявление, учитывая
NIIIK
хотя в репликации слаб и слабо понимаю как они могут быть "правильно реплицированны"


NIIIK
Как посмотреть какой конкретно запрос (DDL ) был выполнен?
Никак, если не был заранее настроен какой-либо аудит. Впрочем, если реплика еще не ушла подписчикам и не было очистки дистрибьютора, то можно попробовать через sp_browsereplcmds. Только польза от этого какая?

Лучше покажите результат
select pre_creation_cmd from sysarticles where name = 'Имя таблицы';
20 авг 13, 22:56    [14733181]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
invm
NIIIK
Собственно свойство по факту вредное
Несколько самонадеянное заявление, учитывая
NIIIK
хотя в репликации слаб и слабо понимаю как они могут быть "правильно реплицированны"


Ну тут я исхожу из логики которую описал выше и как бы руками надо подписчиков контролировать.
В итогде тут "Не сработало"
Хотя при помощи описанного тут ранее и триалки ApexSQLLog нашёл что за таблицу и что за колонку альтерели/добавляли, но явно не точный скрипт. В "Redo Script" вообще какая-то ересь, но имя таблицы и колонки видно

invm
NIIIK
Как посмотреть какой конкретно запрос (DDL ) был выполнен?
Никак, если не был заранее настроен какой-либо аудит. Впрочем, если реплика еще не ушла подписчикам и не было очистки дистрибьютора, то можно попробовать через sp_browsereplcmds. Только польза от этого какая?

[/quot]
Польза в знании и понимании, а так же предотвращении.
Из-за чего только ошибка и почему репликация работает.
Тем более Action if name is in use устновленно Drop existing object and create a new one.
Или оно только для первого запуска?

invm
Лучше покажите результат
select pre_creation_cmd from sysarticles where name = 'Имя таблицы';

1
20 авг 13, 23:22    [14733284]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
NIIIK
invm
Лучше покажите результат
select pre_creation_cmd from sysarticles where name = 'Имя таблицы';


1
Это соответствует "drop table". Т.е. таблица будет пересоздаваться при каждом применении снимка на подписчике. Зачем при таком режиме реплицировать DDL?
21 авг 13, 00:08    [14733460]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
NIIIK
Ну тут я исхожу из логики которую описал выше и как бы руками надо подписчиков контролировать.
Естественно руками. Была бы транзакционная реплика - было бы автоматом.
21 авг 13, 00:33    [14733544]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Конечно,
NIIIK
Тем более Action if name is in use устновленно Drop existing object and create a new one.

сам в "раздумьях".
21 авг 13, 00:34    [14733546]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Убрал свойство Replicate schema changes.
Даже песобрал снапшот и выполнил синхронизацию. Транзакция "висит".
Поимаю что это может её и НЕ убирать, но всё же наверное запущу скоро sp_repldone что бы транзакция не висела.
21 авг 13, 15:12    [14736704]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
NIIIK
Убрал свойство Replicate schema changes.
Даже песобрал снапшот и выполнил синхронизацию. Транзакция "висит".
Конечно "висит". Вы же публикацию не пересоздавали.
NIIIK
но всё же наверное запущу скоро sp_repldone
Можно sp_replrestart.
21 авг 13, 15:35    [14736956]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
invm,

Да, процедура сработала.

http://msdn.microsoft.com/en-us/library/ms147331.aspx

ALTER TABLE DROP COLUMN is always replicated to all subscriptions whose partition contains the columns being dropped, regardless of the value of the @replicate_ddl parameter.


Получается что если кто-то добавит/удалит колонку, то будут головняки с логом транзакций.
22 авг 13, 17:27    [14743370]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
Glory
Member

Откуда:
Сообщений: 104760
NIIIK
Получается что если кто-то добавит/удалит колонку, то будут головняки с логом транзакций.

Головняки будут всегда, если кто-то что-то делает "тайно" и без тестирования сразу на продакшене.
22 авг 13, 17:31    [14743386]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
NIIIK
Получается что если кто-то добавит/удалит колонку, то будут головняки с логом транзакций.
Вы кое-что не учитываете:
http://msdn.microsoft.com/en-us/library/ms147331.aspx
ALTER TABLE DROP COLUMN is always replicated to all subscriptions whose partition contains the columns being dropped, regardless of the value of the @replicate_ddl parameter.
Так что если DDL не реплицировалось, то и проблем не будет.

Осталось выяснить: почему была выбрана репликация снимком?
22 авг 13, 20:26    [14744058]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Опять сволочь вылезла, причём репликация без Replicate schema changes
а триалка ApexSQLLog закончилась

чем можно хотя бы посмотреть имя таблицы? Но на случай если объект существует тут стоит "Delete data. If article has a row filter, delete only data that matches the filter." и всё
29 окт 13, 19:33    [15048703]     Ответить | Цитировать Сообщить модератору
 Re: Растёт лог у баз с Shapshot репликацией  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
У кого-нить есть варианты?
30 окт 13, 10:31    [15050802]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить