Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
05.11.2001, 14:52
|
|||
|---|---|---|---|
|
|||
Ispolzovanie Trigerrov |
|||
|
#18+
Privet ! U menya est Vopros. Kak ya mogu pri pomostschi Triggerov prosledit vse izmeneniya v Tablitzach s ukazaniem Daty. Esli mogno to soprovodite otvet primerom, a to ya i tak i etok - ne idet. Zaranee blagodaren !!! Dima. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.11.2001, 08:14
|
|||
|---|---|---|---|
|
|||
Ispolzovanie Trigerrov |
|||
|
#18+
Меня тоже это интересует, и вот мой подход: я использую для этого копию базы с дополнительными полями в таблицах, таблицы - накопительные без ключей и связей в оригинальной базе при удалении или редактировании срабатывает триггер, пример триггера на удаление ниже: CREATE TRIGGER TRG_FOR_DELETE_TBL ON dbo.TBL FOR DELETE AS INSERT INTO base_CHANGES.dbo.TBL SELECT /*... поля удаляемой записи ...*/, system_user as COR_USER_LOGIN, host_name() as COR_USER_HOST, app_name() as COR_APPLICATION, getdate() as COR_ACTION_DATE, 2 as COR_ACTION_SIGN, NULL as COR_GLOB_CHANGE_ID from deleted del в таблице корректуры тоже есть триггер на добавление, который отписывает ID (Identity) записи из таблицы корректуры в дополнительную таблицу (SEC_Changes_Descriptor) которая содержит три поля: ID из таблицы корректуры, имя таблицы корректуры, и свой ID (COR_GLOB_CHANGE_ID Identity). Затем триггер вставляет значение identity из этой таблицы в исходную таблицу корректуры. По замыслу должно быть возможным просматривать хронологически все изменения в базе и откатывать их. но это не всегда срабатывает т.е. иногда COR_GLOB_CHANGE_ID не вставляется в таблицу из дескриптора, не успевает что-ли? как сделать лучше??? вот этот триггер: CREATE TRIGGER TRG_FOR_INSERT_TBL ON dbo.TBL AFTER INSERT AS INSERT INTO SEC_Changes_Descriptor SELECT 'dbo.TBL' AS Table_Name, ins.COR_CHANGE_ID as Local_Change_ID from inserted ins Update dbo.TBL SET COR_GLOB_CHANGE_ID=IDENT_CURRENT('dbo.SEC_Changes_Descriptor') where COR_CHANGE_ID=IDENT_CURRENT('dbo.TBL') база корректуры содержит записи за 2 месяца и ежемесячно подрезается (без truncate ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.11.2001, 12:13
|
|||
|---|---|---|---|
Ispolzovanie Trigerrov |
|||
|
#18+
Проще без дополнительных полей в таблицах а дополнительная таблица, в которой содержится информация о том, кто, в какую таблицу, чего и когда сделал. Т.е. из триггера таблицы основоной базы вставляется запись в вышеприведенную таблицу с указанием всех параметров, берется этот ID и с ним из таблицы вставляются все значения в копию для аудита. Тогда никаких проблем нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.11.2001, 14:10
|
|||
|---|---|---|---|
|
|||
Ispolzovanie Trigerrov |
|||
|
#18+
да, можно и так, и даже экономичнее, но в моем случае было необходимо отследить историю изменения данных(т.е. видеть что на что поменяли), но проблему с глобальным ID я уже решил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.11.2001, 10:30
|
|||
|---|---|---|---|
|
|||
Ispolzovanie Trigerrov |
|||
|
#18+
Ogromnoe spasibo Dmitri i Tigra. Teper u menya vse rabotaet. Bez vas by ya ne spravilsya. No vot vopros. Reagiruiyt li triggery na izmeneniya posle Merge Replikation tak ge, kak i na izmeneniya posle neposredstvennongo izmeneniya v baze iz SQL ili Access ? Esli znaete otvet - daite znat. Spasibo !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1825052]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 378ms |

| 0 / 0 |
