>>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 AS 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%' --remove labels UPDATE #services 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 --EOF--
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