Если вы говорите о том, кто изменил структуру таблицы
Если это было достаточно недавно, он все еще может быть захвачен в скользящем следе по умолчанию :
DECLARE @path NVARCHAR(260);
SELECT
@path = REVERSE(SUBSTRING(REVERSE([path]),
CHARINDEX(CHAR(92), REVERSE([path])), 260)) + N'log.trc'
FROM sys.traces
WHERE is_default = 1;
SELECT
LoginName,
HostName,
StartTime,
ObjectName,
TextData
FROM sys.fn_trace_gettable(@path, DEFAULT)
WHERE EventClass = 164 -- Object:Altered
AND EventSubClass = 1
ORDER BY StartTime DESC;
Если нет, то, может быть, пришло время инвестировать в триггеры DDL , контроль источников / управление изменениями, не предоставив всем вашим коллегам достаточных разрешений для изменения базы данных или всего вышеперечисленного ....
Если вы говорите о том, кто изменил данные в таблице
SQL Server не отслеживает эти данные.Вы можете просмотреть комбинацию триггеров DML, аудита SQL, отслеживания изменений, сбора данных изменений, временных таблиц .Ваш выбор будет зависеть от вашей версии и редакции SQL Server, объема данных, изменяемых, и таблиц, которые вы хотите отслеживать ...