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

Откуда: Тольятти
Сообщений: 454
Glory
saszay
Тогда что это значит?

Это значит только то, что "письма нет". Без всяких следствий.


Попробовал сам изменить данные: триггер сработал, письмо пришло. При "проблемных" транзакциях письма не приходят ...
3 май 14, 15:35    [15966560]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
Glory
Member

Откуда:
Сообщений: 104760
saszay
При "проблемных" транзакциях письма не приходят ...

1. как вы проверили, что ваш триггер сработал при "проблемных" транзакциях ?
2. как вы проверили, что вообще происходит при "проблемных" транзакциях ?
3 май 14, 16:19    [15966645]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
saszay
При "проблемных" транзакциях письма не приходят ...
Поразительная упертость...

1. Триггер должен быть на той стороне, где "подозрительные" строки генерируются, а не там, где они применяются.
2. Триггер должен быть без опции not for replication.
3. Триггер долже писать данные аудита в специально предназначенную для этго таблицу, а не слать письма при каждом срабатывании.
3 май 14, 16:20    [15966647]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 454
Glory
saszay
При "проблемных" транзакциях письма не приходят ...

1. как вы проверили, что ваш триггер сработал при "проблемных" транзакциях ?
2. как вы проверили, что вообще происходит при "проблемных" транзакциях ?


[1] - При "проблемных" транзакциях триггер не сработал.
[2] - Я не знаю что происходит при "проблемных" транзакциях. Просто у меня факт их существования и всё. Я хочу узнать, что приводит к этим транзакциям.
4 май 14, 19:11    [15969945]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 454
invm
saszay
При "проблемных" транзакциях письма не приходят ...
Поразительная упертость...

1. Триггер должен быть на той стороне, где "подозрительные" строки генерируются, а не там, где они применяются.
2. Триггер должен быть без опции not for replication.
3. Триггер долже писать данные аудита в специально предназначенную для этго таблицу, а не слать письма при каждом срабатывании.


[1] Так и есть.
[2] Почему? Мне не нужно срабатывание триггера на входящих транзакциях.
[3] Утверждение спорное: если он срабатывает при ручном изменении данных и не срабатывает при "проблемных" транзакциях, то запись в спец. таблицу, я думаю, мало чего изменит, т.е. и в таблице не будет данных при "проблемных" транзакциях.
4 май 14, 19:24    [15969988]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
saszay
Почему? Мне не нужно срабатывание триггера на входящих транзакциях.
Хотите отсечь целую ветку, где может быть источник "проблемы" - дело ваше.
saszay
Утверждение спорное: если он срабатывает при ручном изменении данных и не срабатывает при "проблемных" транзакциях, то запись в спец. таблицу, я думаю, мало чего изменит, т.е. и в таблице не будет данных при "проблемных" транзакциях.
Попробуйте оценить сколько будет затрачено ресурсов и как долго будут удерживаться блокировки в случае вызова sp_send_dbmail и в случае записи одной строки в таблицу. А также оцените частоту отсылки писем.
4 май 14, 21:37    [15970392]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 454
Было затишье (около 1 месяца), а потом опять начались "левые" транзакции.
Создал триггер:
CREATE TRIGGER [dbo].[SchetL_Desc_Tran_Update] on [dbo].[SchetL_Desc]
FOR UPDATE
not for replication
AS
DECLARE @q nvarchar(max)
select @q = CAST(session_id As varchar) + ' / ' + CONVERT(varchar, login_time, 113) + ' / ' +  [host_name] + ' / ' + [program_name] + ' / ' + client_interface_name + ' / ' + login_name + ' / ' + nt_user_name + ' / ' + CONVERT(varchar, last_request_start_time, 113) + ' / ' + [language] + ' / ' + original_login_name
 from sys.dm_exec_sessions WHERE session_id = @@SPID
INSERT INTO SchetL_Desc_Tran (schlUID, schlDescDate, schlDescType, schlDescValue, rowguid, koUIDComp, toUID, usiID, descs)
    SELECT i.schlUID, i.schlDescDate, i.schlDescType, i.schlDescValue, i.rowguid, i.koUIDComp, i.toUID, i.usiID, @q
        FROM inserted i


Таблица SchetL_Desc_Tran пустая, а транзакции идут...
10 сен 14, 15:06    [16559675]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
saszay
Таблица SchetL_Desc_Tran пустая
Потому что у вас опять триггер not for replication.
10 сен 14, 15:25    [16559836]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 454
А зачем мне запоминать данные с других серверов?
10 сен 14, 15:29    [16559871]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
saszay
А зачем мне запоминать данные с других серверов?
А вы считаете, что данные с других серверов не тиражируются?
Вы вообще где этот триггер сделали?
10 сен 14, 15:49    [16560039]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 454
invm,

Триггер сделан на сервере, с которого не должно быть репликаций.
10 сен 14, 21:25    [16561602]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
saszay
Триггер сделан на сервере, с которого не должно быть репликаций.
Вы, имхо, уже всех запутали.
11 сен 14, 00:02    [16561919]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 454
Данные в таблице появились. Их источник агент репликации. Хотя к решению проблемы это не приблизило...
15 сен 14, 14:54    [16576619]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
saszay
Их источник агент репликации
Значит они приходят с других узлов.
15 сен 14, 17:38    [16577696]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 454
нет, с других узлов нет репликации
15 сен 14, 19:26    [16578074]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
saszay
нет, с других узлов нет репликации
Данные не могут браться из воздуха.
15 сен 14, 20:25    [16578223]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 454
Берутся не данные, а "ненужные" репликации, т.е. изменение уже существующих данных
16 сен 14, 05:37    [16578901]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 454
invm
saszay
Триггер сделан на сервере, с которого не должно быть репликаций.
Вы, имхо, уже всех запутали.



Как в анекдоте: сделай то, сделай сё. А в результате: ну не смогла я...
6 окт 14, 16:20    [16667011]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 454
Добрый день!

Проблема встала очень остро: 1 день фирма не работала из-за "чёрных" транзакций. До этого 1.5 месяца работали без проблем.
Может есть решение данной проблемы или хотя бы узнать их причину?
8 дек 14, 09:08    [16964518]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
saszay
Добрый день!

Проблема встала очень остро: 1 день фирма не работала из-за "чёрных" транзакций. До этого 1.5 месяца работали без проблем.
Может есть решение данной проблемы или хотя бы узнать их причину?
И что, до сих пор не решили проблему??? Наймите уже специалиста на один или несколько дней.
saszay
Причём, иногда, UPDATE транзакции идут на таблица, в которые по логике работы идёт только добавление данных
...
"Простая" истина опровергается моим сервером. Где искать я уже не знаю: просмотрел всё что мог

Да просто запретите обновления в таблице, которая "по логике работы идёт только добавление данных", и сразу найдёте ошибку. Например, установкой триггера, который откатывает любые изменения и генерит ошибку с записью в лог.

Ещё вариант - запретить обновления, которые затрагивают больше чем NNN строк, опять же с генерацией ошибки и с записью в лог.

Не бывает у сервера самопроизвольных репликаций несуществующих обновлений данных, просто примите это как факт. Ищите ошибку у себя (бага в приложении, запрос на обновление без условий/с неправильными условиями и т.д.)
8 дек 14, 09:32    [16964573]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 454
alexeyvg
Да просто запретите обновления в таблице, которая "по логике работы идёт только добавление данных", и сразу найдёте ошибку. Например, установкой триггера, который откатывает любые изменения и генерит ошибку с записью в лог.

Ещё вариант - запретить обновления, которые затрагивают больше чем NNN строк, опять же с генерацией ошибки и с записью в лог.


Запретив обновления я просто остановлю репликацию полностью, даже таблиц, которые не участвуют в данном безобразии.

alexeyvg
Не бывает у сервера самопроизвольных репликаций несуществующих обновлений данных, просто примите это как факт. Ищите ошибку у себя (бага в приложении, запрос на обновление без условий/с неправильными условиями и т.д.)


Практика показывает обратное.

Пригласить спеца тоже нет возможности: периодичность проблемы не просматривается.
8 дек 14, 09:44    [16964610]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1873
saszay
alexeyvg
Не бывает у сервера самопроизвольных репликаций несуществующих обновлений данных, просто примите это как факт. Ищите ошибку у себя (бага в приложении, запрос на обновление без условий/с неправильными условиями и т.д.)
Практика показывает обратное.


АГА за столько лет использования репликаций единственный в мире сервер сошёл с ума .
Не смешите мои тапки! Практика всегда показывает что мы либо ищем ошибку не там где надо. Либо интерпретируем как ошибку не то что надо.
8 дек 14, 09:59    [16964675]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
Glory
Member

Откуда:
Сообщений: 104760
saszay
Запретив обновления я просто остановлю репликацию полностью, даже таблиц, которые не участвуют в данном безобразии.

А просто настроить аудит хотя бы на простейшем триггере - ломает.
8 дек 14, 10:00    [16964678]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
saszay
Member

Откуда: Тольятти
Сообщений: 454
Glory
saszay
Запретив обновления я просто остановлю репликацию полностью, даже таблиц, которые не участвуют в данном безобразии.

А просто настроить аудит хотя бы на простейшем триггере - ломает.


Настраивал - не помогло. Источник изменений: Replication Agent.
8 дек 14, 10:09    [16964699]     Ответить | Цитировать Сообщить модератору
 Re: Данные в merge replication  [new]
Glory
Member

Откуда:
Сообщений: 104760
saszay
Настраивал - не помогло. Источник изменений: Replication Agent.

Ха. Вы же уверли, что нет команд UPDATE
8 дек 14, 10:10    [16964704]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить