【发布时间】:2016-09-20 09:09:57
【问题描述】:
我需要知道谁分离了特定的数据库。
是否记录了附加/分离数据库?如果可以,在哪里可以查看日志?
谢谢
【问题讨论】:
-
你的意思是说谁分离了数据库
标签: sql-server detach
我需要知道谁分离了特定的数据库。
是否记录了附加/分离数据库?如果可以,在哪里可以查看日志?
谢谢
【问题讨论】:
标签: sql-server detach
DECLARE @current VARCHAR(500);
DECLARE @start VARCHAR(500);
DECLARE @indx INT;
SELECT @current = path
FROM sys.traces
WHERE is_default = 1;
SET @current = REVERSE(@current)
SELECT @indx = PATINDEX('%\%', @current)
SET @current = REVERSE(@current)
SET @start = LEFT(@current, LEN(@current) - @indx) + '\log.trc';
-- CHNAGE FILER AS NEEDED
SELECT CASE EventClass
WHEN 46 THEN 'Object:Created'
WHEN 47 THEN 'Object:Deleted'
WHEN 164 THEN 'Object:Altered'
END, DatabaseName, ObjectName, HostName, ApplicationName, LoginName, StartTime
FROM::fn_trace_gettable(@start, DEFAULT)
WHERE EventClass IN (46,47,164) AND EventSubclass = 0 AND DatabaseID <> 2
ORDER BY StartTime DESC
【讨论】:
我已尝试附加/分离数据库,并检查了 eventvwr,Errorlog 以查看有关谁执行此操作的任何迹象..似乎没有记录任何内容..
跟踪这些东西的唯一方法是通过审计
【讨论】: