【问题标题】:Who detached a specific SQL Server database?谁分离了特定的 SQL Server 数据库?
【发布时间】:2016-09-20 09:09:57
【问题描述】:

我需要知道谁分离了特定的数据库。

是否记录了附加/分离数据库?如果可以,在哪里可以查看日志?

谢谢

【问题讨论】:

  • 你的意思是说谁分离了数据库

标签: sql-server detach


【解决方案1】:
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

【讨论】:

    【解决方案2】:

    我已尝试附加/分离数据库,并检查了 eventvwr,Errorlog 以查看有关谁执行此操作的任何迹象..似乎没有记录任何内容..

    跟踪这些东西的唯一方法是通过审计

    【讨论】:

    • TheGameiswar 这意味着Employer没有存储你的SQL Server这种情况,应该用于Audit?但我认为有更好的解决方案。
    猜你喜欢
    • 2019-10-22
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多