2012-01-17 2 views
1

У меня есть таблица, в которую каждую минуту появляются новые данные. Согласно исходному коду, который я здесь, он выполняется только в одном классе, который больше не используется.SQL Server: вставки таблицы треков

Есть ли способ отслеживать вставки? Я имею в виду, какие запросы они вставляли, кто отправил эти запросы и т. Д. Как можно больше информации.

Я пробовал несколько способов самостоятельно (например, sp_who2 'Active' хранимой процедуры) без каких-либо успехов. У меня также есть доступ к машине, на которой работает SQL-сервер, и в файлах резервных копий транзакций (файлы .trn), но не имеют представления о том, как открыть эти файлы.

ответ

3

Добавить триггер в таблице, которая следует вставки и вставки в другой таблице эти переменные:

getdate(), 
host_name(), 
App_Name(), 
suser_sname() 

Мне кажется, что это достаточно

Спусковой выглядит следующим образом:

CREATE TRIGGER YourTrigger On YourTable 
AFTER INSERT 
AS 
SET NOCOUNT ON; 

    INSERT logtable 
    SELECT APP_NAME(), HOST_NAME(), SUSER_SNAME(), GETDATE(), * FROM INSERTED 
GO 

OR

вы можете использовать Sql Server Profiler для поиска запросов - он может быть более гибким

+0

Спасибо за ваш ответ Олег. Я попробовал профилировщика и нашел подобные запросы, но я не могу понять, кто их так или иначе отправка ... – Azimuth

+0

я попробовал этот триггер, но не выводит ничего: 'CREATE TRIGGER [CatchTrigger] На [Customer_Email_Unsubscribe] ПОСЛЕ ВСТАВКИ AS BEGIN SET NOCOUNT ON; INSERT INTO temp_loginsert ВЫБРАТЬ NULL, APP_NAME(), HOST_NAME(), SUSER_SNAME(), GetDate(), sEmail, dUnsubscribeDate, iUnsubscribeID ОТ вставлено END' – Azimuth

+0

Это не выводится что-то, он будет записывать войти таблицу, которая вы должны периодически проверять –

0

Вы можете использовать sp_depends так:

sp_depends tablename 

Это только состояния информации в той же базе данных, но он может сказать, что вам нужно!

+0

Пробовал это, но нашел только один SP, который выбирает из таблицы, но ничего не вставляет ... – Azimuth

+0

Тогда вставка может быть в другом базы данных или из другого приложения. Извините за то, что больше не помогло .. –

+0

Да, код, который вставляется в эту таблицу, находится в классе VB. Я сейчас пытаюсь изменить код, чтобы регистрировать каждую вставку, чтобы увидеть, проходят ли все вставки через этот класс, или некоторые из них идут непосредственно в БД. – Azimuth

Смежные вопросы