是否可以查看为数据库创建第二个日志文件的时间以及由谁创建?我发现了一个额外的日志文件,它是为我们环境中的一个数据库创建的,我正在尝试查看它的创建者和创建时间。我们使用的是 SQL Server 2012 SP2 企业版。
我试图找出谁以及何时为数据库创建了第二个 ldf 文件。
这将查询对数据库的任何更改的默认跟踪,其中将包括文件的添加(但它还将包括您无法区分的其他内容,例如更改数据库的兼容性级别)。它还将只包括当前在默认跟踪文件中的数据(它们已经过时了;有关详细信息,请参阅此答案,但基本上,历史回溯的时间在很大程度上取决于捕获的跟踪事件的数量),并要求默认跟踪没有被禁用。
抛开所有这些警告,这至少可以缩小最近对您的数据库进行更改的登录集的范围,然后您可以直接询问他们(假设您可以将登录映射到人类):
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)
归档时间: |
|
查看次数: |
680 次 |
最近记录: |