SVZ>Вот как бы еще и с триггерами уладить.
SVZ>Может глобальную переменную на время сессии создать для каждой таблицы (если возможно)?
можно
SVZ>Или лучше свой вариант генератора на основе таблицы написать?
не стоит
а обычно примерно так:
Поле F1 — identity
INSERT INTO T1 (F2,F3) VALUES (V2,V3)
DECLARE @a int
SELECT @a = F1 FROM T1 WHERE F2 = V2 and F3=V3
А еще лучше (ИМХО) все делать через stored procedures.
Пускай она осуществляет вставку и журналирование, а тиргеры просто проверяют корректность вносимых данных.
Тут еще есть интересный момент: процедуры выполняются от имени создателя
Воспользоваться этим можно так:
В тригере откатывать изменения, если вносящий их юзер не DBO, т.е. запрещается ЛЮБАЯ ПРЯМАЯ вставка записей.