Deploying an Instance of Notification Services
Notification Services applications are deployed in instances of Notification Services. One or more notification applications are associated with an instance of Notification Services through the instance configuration file (ICF) or a programmatic instance configuration created using Notification Services Management Objects (NMO).
When you deploy an instance, you perform the following tasks:
- Create the instance and application database objects by compiling the instance configuration.
- Register the instance of Notification Services.
- Install the Notification Services engine, which runs hosted event providers, generators, and distributors. This engine can be a Microsoft Windows service, which you can install when you register the instance, or the engine can be hosted by a custom application.
- If your application uses non-hosted event providers or subscription management interfaces, you must also deploy these components.
This section provides guidance and examples for deploying an instance of Notification Services, non-hosted event providers, and subscription management instances.
Note
All deployments of Notification Services are unique. The procedures in this section are intended only as guidelines for developing and testing your own deployment instructions.
Deployment Options
Notification Services supports several system configurations:
- The Notification Services engine components and the databases can be located on one server.
- The Notification Services engine and the databases can be on separate servers.
- The Notification Services engine components can be deployed across multiple servers, providing scale-out options for large applications.
- The Notification Services engine components can run on a failover cluster.
- The databases for the instance of Notification Services can be on a failover cluster. For more information, see Failover Clustering.
Notification Services instances can also use non-hosted event providers and subscription management interfaces that can run on the same server as the instance or on a remote server. For more information, see the following topics:
For more information about these configurations, see Hardware Configurations.
Basic Deployment Steps
The following list outlines the basic steps for deploying an instance of Notification Services. There are multiple ways to perform each step. For options and instructions, see "Deployment Procedures" below.
Important
In Microsoft SQL Server 2005, network protocols are disabled by default. If any Notification Services components are running on a server other than the database server, you must enable the appropriate network protocol. For more information, see SQL Server Surface Area Configuration.
- Plan the deployment and gather information.
- Determine the system configuration for the instance, such as which server hosts the databases, which servers host the event providers, generators, and distributors, and where the subscription management interface is located.
If you are using Microsoft SQL Server Standard Edition, all hosted event providers, generators, and distributors must be on the same server. - Determine the account that the Notification Services engine will run under. The account can be a domain account, a local account, or a built-in account. For more information, see Configuring Windows Accounts for an Instance of Notification Services.
- Determine the security model for connecting to SQL Server. Notification Services, Windows Authentication, and SQL Server Authentication. Microsoft recommends Windows Authentication.
- If you are using SQL Server Authentication, determine which SQL Server login the Notification Services engine will use to connect to SQL Server. The login should have minimal permissions. You will grant permissions to this account later.
- Obtain the instance configuration, application definitions, and operational files, such as Extensible Stylesheet Language transforms (XSLT) files and custom components, for all applications hosted by the instance. These files are required to create and run the instance.
You should store the files used to build the instance separately from the files used to run the instance. For more information, see Securing Files and Folders.
- Determine the system configuration for the instance, such as which server hosts the databases, which servers host the event providers, generators, and distributors, and where the subscription management interface is located.
- Install Notification Services.
Install Notification Services engine components on each server that runs a hosted event provider, generator, or distributor. Install the Notification Services client components on each server that runs a non-hosted event provider or subscription management application. - Create the instance of Notification Services.
Creating an instance reads the instance data from the instance configuration and creates instance database objects, and then reads the application data from each associated application definition and creates application database objects. - Enable the instance of Notification Services.
Enabling an instance sets the instance state to Enabled in the instance database, and enables event collection, notification generation, notification distribution, subscriber management, and subscription management. - Register the instance of Notification Services.
Registration adds instance name, version, and database server information to the Windows registry. You must register the instance on each server that runs an event provider, generator, distributor, or subscription management interface. On the computers where you use the Windows service to run engine components, you must also create the Windows service when you register the instance. - Create a SQL Server login for the Notification Services engine.
For the NS$instanceName Windows service, the services uses the Windows account that the service runs under or, if using SQL Server Authentication, uses a SQL Server login provided when registering the instance of Notification Services. - Create database user accounts for the login and then add the user to the appropriate database roles. For more information see Configuring SQL Server Permissions for an Instance of Notification Services.
- Start the instance.
If you are using the NS$instanceName Windows service, start the instance by starting service on each server that runs a hosted event provider, generator, or distributor.
Notification Services starts its event collection, notification generation, and distribution functions for all enabled components.
You should now be able to add subscribers and subscriptions and submit events, and Notification Services should generate notifications. If your applications are not working as expected, use the procedures listed below to view the status of the instance, ensuring that all components are enabled and running on the expected servers. Also, check the Application log in the Windows Event Viewer for any errors or warnings.
Walkthroughs
Included in this section are several walkthroughs showing how to deploy an instance of Notification Services on various system configurations using Windows Authentication. Use these walkthroughs to become familiar with deploying Notification Services applications and to create your own instructions and batch files for deploying your instances and applications.
- Walkthrough: Single-Server Deployment
- Walkthrough: Remote Database Server Deployment
- Walkthrough: Scale-Out Deployment
- Walkthrough: Clustered Single-Server Deployment
Deployment Procedures
The following topics contain procedures for the deployment steps listed above.
To install Notification Services
- How to: Install the Notification Services Engine Components
- How to: Install the Notification Services Client Components
To create an instance of Notification Services
- How to: Create an Instance of Notification Services (SQL Server Management Studio)
- nscontrol create Command
- Microsoft.SqlServer.Management.Nmo.Instance.Create
To enable an instance of Notification Services
- How to: Enable an Instance of Notification Services (SQL Server Management Studio)
- nscontrol enable Command
- Microsoft.SqlServer.Management.Nmo.Instance.Enable
To register an instance of Notification Services
- How to: Register an Instance of Notification Services for Engine Components (SQL Server Management Studio)
- How to: Register an Instance of Notification Services for Client Components (SQL Server Management Studio)
- nscontrol register Command
- RegisterLocal
To grant database permissions to an instance of Notification Services
- How to: Grant Database Permissions to an Instance of Notification Services
- How to: Grant Database Permissions to a Non-Hosted Event Provider
- How to: Grant Database Permissions to a Subscription Management Interface
To start an instance of Notification Services
- How to: Start an Instance of Notification Services (SQL Server Management Studio)
- How to: Start an Instance of Notification Services (SQL Server Configuration Manager)
- How to: Start an Instance of Notification Services (Services Manager)
- How to: Start an Instance of Notification Services (Command Prompt)
- How to: Start a Clustered Instance of Notification Services
To view the status of an instance
- How to: View the Status of a Notification Services Instance (SQL Server Management Studio)
- nscontrol status Command
See Also
Concepts
Deploying a Non-Hosted Event Provider
Deploying a Subscription Management Interface
Other Resources
Deploying Notification Services
Troubleshooting Notification Services