>>Script Language and Platform: SQL SERVER 2000
The procedure will list code, name and current state of each service that is installed on the machine where SQLSERVER2000 is running.
CREATE PROCEDURE sp_services
CREATE TABLE #services (ident SMALLINT identity, fld NVARCHAR(200))
--get output of command in temporary table
INSERT INTO #services (fld)
EXEC master..xp_cmdshell 'sc query state= all' --remove 'state= all' for displaying only running services
--keep only needed records (service code, service displayed name, state
DELETE FROM #services
WHERE ISNULL(fld, '') NOT LIKE 'SERVICE_NAME%'
AND ISNULL(fld, '') NOT LIKE 'DISPLAY_NAME%'
AND ISNULL(fld, '') NOT LIKE '%STATE%'
SET fld = LTRIM(RIGHT(fld, LEN(fld) - CHARINDEX(':', fld, 1)))
--display services, names and state
SELECT tbl1.fld AS srv_code, tbl2.fld AS srv_name, tbl3.fld AS state
FROM #services tbl1, #services tbl2, #services tbl3
WHERE tbl2.ident = tbl1.ident+1
AND tbl3.ident = tbl1.ident + 3
DROP TABLE #services
Disclaimer: We hope that the information on these script pages is
valuable to you. Your use of the information contained in these pages,
however, is at your sole risk. All information on these pages is provided
"as -is", without any warranty, whether express or implied, of its accuracy,
completeness, or fitness for a particular purpose...
Back to Database Journal Home