Log всех изменений в БД

AndreyJordan
Дата: 11.02.2010 18:36:46
MS SQL 2005.

Как правильно организовать log всех изменений, которые происходили в базе данных хотя бы по примеру 1С, которая пишет все в текстовый файл? Использовать триггеры для каждой таблицы?
Чтобы не писать различные триггеры для каждой таблицы написать хранимую процедуру, которая будет вызываться из триггера с параметром именем таблицы?
Сложно все это - может есть какой-нибудь более простой способ? Например чтение из log-файла самой БД. Но как это реализовать?

Заранее благодарю.
Crimean
Дата: 11.02.2010 18:50:44
поставить 2008
настроить аудит
будет текстовый файл
DeColo®es
Дата: 11.02.2010 18:58:57
Главный вопрос - зачем?

В том смысле, что в зависимости от задачи и решения будут разные.
AndreyJordan
Дата: 11.02.2010 23:47:46
Главная задача - в случае удаления какой-либо нужной записи или неверного ее корректирования - проследить кто из пользователей это сделал.
DeColo®es
Дата: 12.02.2010 12:18:37
AndreyJordan
Главная задача - в случае удаления какой-либо нужной записи или неверного ее корректирования - проследить кто из пользователей это сделал.
Напишите скрипт, который "пробежится" в курсоре по таблицам, в которых могут лежать нужные данные и выполнит для каждой таблицы:
exec('create trigger on '+@TableName+'
after delete
as
insert into SomeGlobalLog(DateTime, UserNeme, TableName, RecID)
select getdate(), user_name(), '''+@TableName+''', d.ID
from deleted d')
AndreyJordan
Дата: 13.02.2010 11:52:51
Большое спасибо, на основании Вашей подсказки, вполне можно сделать то, что мне нужно