powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
18 сообщений из 18, страница 1 из 1
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904447
guest0550
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня 3 пользователи в один базе. Я могу ли узнать кто и когда проведили UPDATE или INSERT
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904460
Фотография PsyMisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest0550,

Попробуйте поиграться с этим

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT [Transaction Name]
    ,   SUSER_SNAME([Transaction SID]) AS UserName
    ,   [Begin Time]
    ,   Operation
    ,   [Transaction ID]
    FROM fn_dblog(NULL, NULL)
    WHERE --[Transaction ID] = '0000:000002e3' -- @TransactionID
         [Transaction Name] LIKE 'INSERT%'
        --AND Operation = 'LOP_BEGIN_XACT'



насчет узнать конкретную таблицу - можно попробовать так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DECLARE @ObjectName SYSNAME
DECLARE @TransactionID NVARCHAR(500)
SET @ObjectName = 'dbo.Example'
-- Your schema qualified table name here
SET @TransactionID = ( SELECT TOP 1 [Transaction ID]
                        FROM fn_dblog(NULL, NULL)
                        WHERE AllocUnitName = @ObjectName
                        ORDER BY [Transaction ID] DESC
                     )
PRINT @TransactionID



Узнав TransactionID - потом вставить в 1й запрос
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904461
Фотография PsyMisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PsyMisha,

Уточнение - выполняйте скрипты в контексте искомой Базы Данных - либо параметры на вход fn_dblog() поменяйте
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904463
guest0550
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Результат первого запроса

Msg 229, Level 14, State 5, Line 1
The SELECT permission was denied on the object 'fn_dblog', database 'mssqlsystemresource', schema 'sys'.
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904464
guest0550
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Результат второго запроса


Msg 229, Level 14, State 5, Line 17
The SELECT permission was denied on the object 'fn_dblog', database 'mssqlsystemresource', schema 'sys'.
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904466
Фотография PsyMisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest0550,

а у вас точно права dbo на базе? Например - через неявное прокидывание серверной роли sysadmins
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904467
guest0550
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PsyMisha,

Да у меня права sysadmin который - sa
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904472
guest0550
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904476
Фотография PsyMisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest0550,

Попробуйте явно выбрать БД, в контексте которой выполняются скрипты.
Или в выпадающем списке сверху, либо явно указав USE [имя_моей_бд] в самом начале моих скриптов
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904477
guest0550
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PsyMisha,

такой результат дает.
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904544
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на картинке логин в явном виде: test.
никакой не sa.
под sa только ОЕ открыт
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904549
guest0550
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,
Да точно вы прав. Но результат запроса пустой :(
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904550
Фотография PsyMisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

+1
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904553
Фотография PsyMisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest0550,

Попробуйте поменять не DELETE в фильтре WHERE - а TRUNCATE, или INSERT и тп

Вообще, конечно, сложновато так работать. Я вам кинул наводку, в надежде, что вы возьмете ее за основу, и дальше разовьете мысль, а вы и с основами плаваете...
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904563
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да что он выловит, база явно в простой модели...
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904569
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вообще allocunitname надо с лайком вылавливать.
там же всегда индекс в явном виде фигурирует:
sys.sysrscols.clst
sys.sysschobjs.clst
dbo.execution_log.PK_execution_log_id
sys.syscolpars.nc
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904647
Фотография PsyMisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

У меня были ситуации когда успевал и из SIMPLE'а еще до рециклинга журнала выловить все, что надо этим способом. И палили разрабов, которые транкейтили таблицы, и задним числом уже разбирались, какой процесс в прошлом данные первый вставлять начал и т.п.
...
Рейтинг: 0 / 0
Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
    #39904660
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне кажется, у него симпл и сервер как раз недавно перегрузили.
т.е. в логе просто пусто.
хотя еще более правдоподобна версия,
что там НЕ кучи, а ищет он не на like, а на точное совпадение AllocUnitName.
(ну в смысле это ваш скрипт ищет по имени таблицы без like,
а он тупо скопировал, вот ничего и не находится)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как я могу узнать кто и когда UPDATE проведить в конкретному таблицу или на базе?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]