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

На вставку:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER TRIGGER [dbo].[Engine_LPD_InsertTrigger]
ON [dbo].[Engine_LPD]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
insert into Changes (TableName,RecordId,Operation)
select 'Engine_LPD', UPPER(cast(UID as nvarchar(2000))),'I' from inserted

END

А также на изменение и удаление.
Сама табличка Changes выглядит следующим образом:

CREATE TABLE [dbo].[Changes](
[Id] [bigint] IDENTITY(1,1) NOT NULL,
[TableName] [nvarchar](256) COLLATE Cyrillic_General_CI_AS NOT NULL,
[RecordId] [nvarchar](1024) COLLATE Cyrillic_General_CI_AS NOT NULL,
[Operation] [char](1) COLLATE Cyrillic_General_CI_AS NOT NULL,
CONSTRAINT [PK_Changes] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

Проблема заключается в том, что через несколько часов работы с системой все вновь добавленные данные теряются. То есть не записываются в базу данных. Может быть что-то не так с этим триггером?
9 июн 09, 11:27    [7279790]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поводу триггера  [new]
Le Peace
Member

Откуда: Москва
Сообщений: 8969
Чупров Евгений

Проблема заключается в том, что через несколько часов работы с системой все вновь добавленные данные теряются. То есть не записываются в базу данных. Может быть что-то не так с этим триггером?

Вы серьёзно думаете, что insert может удалять?
9 июн 09, 11:35    [7279852]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поводу триггера  [new]
Лузер__
Guest
Так и повесь триггер на удаление на таблицу [dbo].[Changes], увидишь кто удаляет их.
9 июн 09, 14:06    [7280846]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поводу триггера  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Лузер__
Так и повесь триггер на удаление на таблицу [dbo].[Changes], увидишь кто удаляет их.
Так ведь есть уже:
Чупров Евгений
А также на изменение и удаление
9 июн 09, 14:18    [7280959]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поводу триггера  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
iap
Лузер__
Так и повесь триггер на удаление на таблицу [dbo].[Changes], увидишь кто удаляет их.
Так ведь есть уже:
Чупров Евгений
А также на изменение и удаление
Извините, не про ту таблицу подумал
А ведь тот, кто втихаря удаляет записи из лога, наверно, имеет достаточно прав, чтобы отключить перед этим триггер...
9 июн 09, 14:30    [7281060]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поводу триггера  [new]
Saller
Member

Откуда: exUSSR
Сообщений: 1141
iap
А ведь тот, кто втихаря удаляет записи из лога, наверно, имеет достаточно прав, чтобы отключить перед этим триггер...

Построить всех и пытать (паяльник, утюг, пальцы в двери) пока не признаются кто балуется с удалением
9 июн 09, 15:15    [7281418]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить