Une procédure stockée pour trouver sous quel compte de service s’exécute une instance SQL Server

Voici une petite procédure stockée qui affiche dans la console de SSMS le nom du compte de service sous lequel s’exécute une instance SQL Server :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CREATE PROCEDURE spGetSQLServerServiceAccountName
AS
BEGIN
  DECLARE @nomInstance SYSNAME,
    @nomMachine SYSNAME
   
  SELECT @nomInstance = CAST(SERVERPROPERTY('InstanceName') AS SYSNAME),
    @nomMachine = @@SERVERNAME
 
  DECLARE @cle NVARCHAR(256),
    @compteDeService NVARCHAR(128)
   
  SELECT @cle = CASE  
      WHEN @nomInstance IS NULL THEN N'SYSTEM\CurrentControlSet\Services\MSSQLServer'
      ELSE N'SYSTEM\CurrentControlSet\Services\MSSQL$' + @nomInstance
    END
 
  EXEC master.dbo.xp_regread N'HKEY_LOCAL_MACHINE',
       @cle,
       N'ObjectName',
       @compteDeService OUTPUT,
       N'no_output'
       
  PRINT 'Le compte de service est ' + @compteDeService
END

ElSuket

Laisser un commentaire