See my attempt at the answers below.
Diane Larsen [MSFT]
SQL Server User Education
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
"RDV" <[email protected]> wrote in message
> One deployment strategy is to have the SQLNS instance service (NS$) and
> event providers running on one server (A) and the database on another
> server (B). My questions are:
> 1) How should SQLNS behave when servers A and B are rebooted? My
> experience is that if Server A comes up first and can't connect to the
> database it aborts and never starts.
A: Your observation is correct. The NS$ services do not have a dependency on
the database engine service, and do not automatically try to restart. If the
database engine instance is not available when the NS$ services attempt to
start, the NS$ service will fail to start and write an error to the Windows
> 2) How should SQLNS behave when just server B is rebooted?
A: The NS$ services on server A will write errors to the event log each time
the service tries to connect to the database on server B, but can't connect.
However, when the database engine comes back, it should reconnect. (I don't
think there is a max connection error....) Note that some subscriptions
might not get processed depending on the SubscriptionQuantumLimit settings.
(Basically, you could have lots of events and subscriptions backing up. This
setting allows you to ignore older events and subscriptions and just process
> 3) Is there a way to create a service dependence on the instance
> service on server A against SQL Server running on server B (e.g create
> a service dependence against a process running on another server)?
A: Not that I'm aware of.
> 4) In general are there any best practices for making the above
> deployment strategy work when servers are rebooted?
A: I have a single-server deployment, but here's what I do: I configure
multiple recovery attempts for the NS$ services via the Services panel in
Windows. Right-click the service, select properties, and then select the
Recovery tab. Set the first failure, second failure, and subsequent failures
values to Restart the Service, and then set a reasonable interval in the
Restart Service After box.