【问题标题】:Who created a DB role?谁创建了数据库角色?
【发布时间】:2014-10-23 15:24:45
【问题描述】:
我如何找出谁创建了特定的数据库角色?
我有一个数据库,具有以下数据库角色(见下图)
但我需要知道是谁创建了 db_dev 角色,因为没有与之关联的更改请求。
也许它只是在错误的服务器中错误地创建。 (经典的)
我想知道是谁创建的?
不怪人,只求一探究竟。目前我们有几个人在这里度假。
我该怎么做?
【问题讨论】:
标签:
sql-server
sql-server-2008
sql-server-2005
sql-server-2012
【解决方案1】:
我设法通过阅读默认跟踪找到了这一点。
下面是我用过的脚本。
--===============================================================================================
--To check to see whether a default trace is indeed currently running, execute the following:
--===============================================================================================
SELECT *
FROM sys.configurations
WHERE configuration_id = 1568
--===============================================================================================
-- script to read from the default trace:
--===============================================================================================
DECLARE
@trace_id INT,
@filename NVARCHAR(4000);
SELECT @trace_id = id
FROM sys.traces
WHERE is_default = 1;
SELECT @filename = CONVERT(NVARCHAR(4000), value)
FROM sys.fn_trace_getinfo(@trace_id)
WHERE property = 2;
SELECT HostName, LoginName, DatabaseName, TargetUserName, StartTime, TextData AS [Trace Time]
FROM sys.fn_trace_gettable(@filename, DEFAULT)