unable to get the correct service name using registry query

  • DECLARE @DBEngineLogin VARCHAR(100)

    DECLARE @AgentLogin VARCHAR(100)

    EXECUTE master.dbo.xp_instance_regread

    @rootkey = N'HKEY_LOCAL_MACHINE',

    @key = N'SYSTEM\CurrentControlSet\Services\MSSQLServer',

    @value_name = N'ObjectName',

    @value = @DBEngineLogin OUTPUT

    EXECUTE master.dbo.xp_instance_regread

    @rootkey = N'HKEY_LOCAL_MACHINE',

    @key = N'SYSTEM\CurrentControlSet\Services\SQLServerAgent',

    @value_name = N'ObjectName',

    @value = @AgentLogin OUTPUT

    SELECT [DBEngineLogin] = @DBEngineLogin, [AgentLogin] = @AgentLogin

    OR

    SELECT servicename, service_account

    FROM sys.dm_server_services

    Please suggest a query to get the exact servername ( do not want to use @@servername), either need to use registry to read or using DMV

    Thanks.

  • Why the restriction?

  • And what are you expecting to be returned?

  • Here are two ways to get the servername:

    select srv.name as ServerName from sys.servers srv where srv.server_id = 0;

    select SERVERPROPERTY('ServerName');

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply