powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Триггеры и репликация
2 сообщений из 2, страница 1 из 1
Триггеры и репликация
    #32063478
Svetyha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, пожалуйста, разобраться в проблеме. У меня настроена транзакционная репликация между двумя серверами MSSQL2000. И на одной из таблиц подписчика не отрабатывает триггер на insert во время репликации. При создании триггера опцию NOT FOR REPLICATION я не использую. Ниже приведен код создания данного триггера, который в обычном режиме (то есть когда не проходит репликация) отрабатывает нормально :

CREATE TRIGGER [TR_INSERT] ON [PF].[RetailOffice_Ref]
FOR INSERT
AS
if exists (select * from dbo.sysobjects where id = object_id(N'[AC].[Objects]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
begin

declare @parentGUID [uniqueidentifier]
select @parentGUID = ObjectGUID from [AC].[Objects] where O_Name = 'Сбытовые организации' and ParentGUID = '{00000000-0000-0000-0000-000000000000}'

if @parentGUID is null
begin
set @parentGUID = newid()
insert into [AC].[Objects] ( ObjectGUID, O_Name, O_Description, ParentGUID )
values (@parentGUID, 'Сбытовые организации', 'Сбытовые организации', '{00000000-0000-0000-0000-000000000000}')
end

insert into [AC].[Objects] ( ObjectGUID, O_Name, O_Description, ParentGUID )
select ins.RetailOfficeGUID, ins.RO_Name, ins.RO_Name, @parentGUID
from inserted ins

end

Может кто то уже сталкивался с такой проблемой и поделится своими идеями....Буду очень признательна.
...
Рейтинг: 0 / 0
Триггеры и репликация
    #32063678
LG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
declare @parentGUID [uniqueidentifier] 
select @parentGUID = ObjectGUID from [AC].[Objects] where O_Name = 'Сбытовые организации' and ParentGUID = '{00000000-0000-0000-0000-000000000000}' 


Уверена, что здесь возвращается именно 1 запись?
Если нет, используй курсор или иной метод ...

Срабатывает только
Код: plaintext
1.
2.
insert into [AC].[Objects] ( ObjectGUID, O_Name, O_Description, ParentGUID ) 
select ins.RetailOfficeGUID, ins.RO_Name, ins.RO_Name, @parentGUID 
from inserted ins 

?

Какие симптомы есть вообще?
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Триггеры и репликация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]