如何找出运行sql server的帐户?

Mar*_*lli 6 sql-server dmv sql-server-2014

我刚刚创建了一个代理,我需要向运行 sql server 代理的帐户授予对代理的访问权限。它可能是一个域帐户。

如何使用 T-SQL 找到它?

KAS*_*DBA 9

在 SQL Server 2005 和 SQL Server 2008 中,没有记录的方法。因此使用未记录的命令xp_regread来获取结果

DECLARE @sn NVARCHAR(128);

EXEC master.dbo.xp_regread
    'HKEY_LOCAL_MACHINE',
    'SYSTEM\CurrentControlSet\services\SQLSERVERAGENT',
    'ObjectName', 
    @sn OUTPUT;

SELECT @sn;
Run Code Online (Sandbox Code Playgroud)

从 SQL Server 2008R2 SP1 开始,我们有一种获取此信息的文档化方法: sys.dm_server_services here

您可以使用以下查询来查找相同的内容:

SELECT  DSS.servicename,
        DSS.startup_type_desc,
        DSS.status_desc,
        DSS.last_startup_time,
        DSS.service_account,
        DSS.is_clustered,
        DSS.cluster_nodename,
        DSS.filename,
        DSS.startup_type,
        DSS.status,
        DSS.process_id
FROM    sys.dm_server_services AS DSS;
Run Code Online (Sandbox Code Playgroud)

  • 第一个是来自 /sf/answers/512737921/ 的 ctrl C + Ctrl V。请发链接。 (2认同)