查询以确定谁可以更改 SQL 个数据库对象

Query to identify who can make changes to SQL DB objects

我正在 SQL 服务器上寻找对 运行 的查询,以确定谁可以在 SQL 服务器中更改数据库对象结构 (DLL)。请帮忙。谢谢。

你可以在Default Trace中查看:

SELECT  TE.name AS EventName ,
        T.DatabaseName ,
        t.ObjectName,
        t.NTDomainName ,
        t.ApplicationName ,
        t.LoginName ,
        t.StartTime 
FROM sys.traces tr
cross apply sys.fn_trace_gettable(CONVERT(VARCHAR(150), 
    ( SELECT f.[value] FROM sys.fn_trace_getinfo(tr.id) f WHERE f.property = 2 )), DEFAULT) T
JOIN sys.trace_events TE ON T.EventClass = TE.trace_event_id
WHERE   
tr.is_default = 1
and name like 'Object:%'
ORDER BY t.StartTime ; 

感谢您的努力。我找到了以下网站,它为您提供了多个确定有效数据库引擎权限的查询。

https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/determining-effective-database-engine-permissions?view=sql-server-2017