DECLARE @ServicePath NVARCHAR(156) = N'SYSTEM\CurrentControlSet\Services\' + CASE WHEN @@SERVICENAME = 'MSSQLSERVER' THEN 'MSSQLSERVER'
ELSE 'MSSQL$' + @@SERVICENAME
END,
@AgentServicePath NVARCHAR(156) = N'SYSTEM\CurrentControlSet\Services\' + CASE WHEN @@SERVICENAME = 'MSSQLSERVER' THEN 'SQLSERVERAGENT'
ELSE 'SQLAgent$' + @@SERVICENAME
END
DECLARE @MSSQLServiceAccountName VARCHAR(250),
@SQLAgentServiceAccountName VARCHAR(250)
EXECUTE master.dbo.xp_instance_regread
N'HKEY_LOCAL_MACHINE',
@AgentServicePath,
N'ObjectName',
@SQLAgentServiceAccountName OUTPUT,
N'no_output'
EXECUTE master.dbo.xp_instance_regread
N'HKEY_LOCAL_MACHINE',
@ServicePath,
N'ObjectName',
@MSSQLServiceAccountName OUTPUT,
N'no_output'
SELECT @MSSQLServiceAccountName AS 'MSSQLServiceAccountName',
@SQLAgentServiceAccountName AS 'SQLAgentServiceAccountName'