Diagnosing and
Resolving Issues Related to Service Dependency
Your server running
Windows Server 2003 is not just a black box that takes in raw data and
produces more raw data again. Indeed, a server running Windows Server
2003 (or any other Microsoft server, for that matter) is made up of a
collection of processes, which each perform a specific task. Sometimes,
these tasks run as services. A service can run either in the foreground—requiring user
interaction—or in the background—requiring no interaction. Often,
services run in the background and require little to no user interaction
to perform the specified job.
Depending on which
Windows Server 2003 components you choose to load at installation,
Windows Server 2003 can have upward of 100 services! If you choose to
load other Microsoft products or third-party software on your server
running Windows Server 2003, it too will likely load additional
services.
To see the
current services installed on a specific server, on the Start menu,
right-click My Computer, and select Manage. Then select the Services
node in the Computer Management console, as shown in Figure 1.
Services can be in one of three possible
states: started, stopped, or paused. Three possible methods exist to
configure a service for starting:
Automatic The
service starts automatically when the system is restarted.
Manual The service does not start automatically when the
system is restarted; however, if another process calls upon this
service to start, the service will start.
Disabled The service will not start automatically when the
system is restarted; the service will not start even if another process
calls upon this service to start.
Some services
depend on other services in order to start. It is like an automobile;
there is no reason for the engine to turn over if the fuel pump is not
working and will not give the engine any gas. Services are the same way:
some are layered, and there is no reason to start unless the components
“underneath” aren’t already working properly.
This idea is called a service dependency.
That is, some services depend on other services in order to start.
Therefore, if even
only one service is not working properly, it could have a cascading
effect throughout your entire server. If you take a closer look at the
Remote Access Connection Manager by double-clicking it and selecting the
Dependencies tab, you can see the services it depends on to start, as
well as the services that depend on it to start, as shown in Figure 2.
The
implications of this one service are quite complex. In this case, you
can see that this service relies on the Telephony service, which in turn
relies on both the Plug And Play service and the Remote Procedure Call
(RPC) service running. Conversely, if the Remote Access Connection
Manager service is not running, neither the Internet Connection Firewall
(ICF)/Internet Connection Sharing (ICS) service nor the Remote Access
Auto Connection Manager service will start.