什么时候为数据库创建第二个日志文件?

kai*_*lyn 5 sql-server logs

是否可以查看为数据库创建第二个日志文件的时间以及由谁创建?我发现了一个额外的日志文件,它是为我们环境中的一个数据库创建的,我正在尝试查看它的创建者和创建时间。我们使用的是 SQL Server 2012 SP2 企业版。

我试图找出谁以及何时为数据库创建了第二个 ldf 文件。

Aar*_*and 6

这将查询对数据库的任何更改的默认跟踪,其中将包括文件的添加(但它还将包括您无法区分的其他内容,例如更改数据库的兼容性级别)。它还将只包括当前在默认跟踪文件中的数据(它们已经过时了;有关详细信息,请参阅此答案,但基本上,历史回溯的时间在很大程度上取决于捕获的跟踪事件的数量),并要求默认跟踪没有被禁用

抛开所有这些警告,这至少可以缩小最近对您的数据库进行更改的登录集的范围,然后您可以直接询问他们(假设您可以将登录映射到人类):

DECLARE @path NVARCHAR(260);

SELECT @path = REVERSE(SUBSTRING(REVERSE([path]), 
   CHARINDEX(CHAR(92), REVERSE([path])), 260)) + N'log.trc'
FROM sys.trace WHERE is_default = 1;

SELECT LoginName, NTUserName, HostName, StartTime
  FROM sys.fn_trace_gettable(@path, DEFAULT)
  WHERE EventClass = 164                 -- Object:Altered
  AND DatabaseName = N'my_database_name' -- ***CHANGE THIS***
  AND ObjectID IS NULL                   -- not an object
  AND ObjectType = 16964                 -- database
  AND EventSubClass = 1                  -- only need one of the row pair
  ORDER BY StartTime DESC;
Run Code Online (Sandbox Code Playgroud)