Notification Services Deployment Options
Notification Services supports many deployment options, allowing you to choose the deployment tools and configurations that work best for you. You can choose between three sets of deployment tools; you can deploy instances of Notification Services in many different hardware configurations; you can deploy instances and versions side by side; and you can run the Notification Services engine using the a Windows service, or you can host the engine in your own application.
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.
For complete deployment instructions, see Deploying Notification Services.
Notification Services provides three sets of tools for deploying instances:
- SQL Server Management Studio. In Object Explorer, right-click Notification Services to access shortcut menu commands. After you deploy an instance, right-click the instance to access additional shortcut menu commands.
To learn how to use SQL Server Management Studio to deploy instances of Notification Services, see SQL Server Notification Services Samples and the Notification Services Tutorial.
- nscontrol. The nscontrol command-prompt utility provides all of the SQL Server Management Studio functionality. You can use the nscontrol utility to script deployment and administrative tasks.
To learn how to script deployment tasks using nscontrol, see the deployment walkthroughs in Deploying Notification Services.
- Notification Services Management Objects (NMO). You deploy individual instances of Notification Services, or you can develop custom deployment solutions using NMO. Most deployment methods are members of the Instance class, although several other classes have Enable() and Disable() methods for controlling the operations of those components. NMO objects are in the Microsoft.SqlServer.Management.Nmo namespace.
Notification Services supports the following hardware configurations:
- You can run the Notification Services engine components on the database server. This is recommended for smaller notification applications that are not available to the public.
- You can run Notification Services engine components on a remote server. Separating the Notification Services engine from the databases typically improves distribution performance for larger applications, and provides separation between the engine and its databases, which can improve security.
- You can scale-out the Notification Services engine components, which is typically done to provide more distributors for a notification application. Very large applications with complex formatting, or applications that send large volumes of notifications using Simple Mail Transfer Protocol (SMTP) can benefit from multiple distributors.
Because there is no benefit to doing so, Notification Services does not allow you to configure multiple distributors on the same server.
- You can use high-availability options like failover clustering, log shipping, and database mirroring. For more information, see Maintaining High Availability.
For examples of these deployment configurations, see Hardware Configurations.
Notification Services supports deploying multiple instances on a single server. There is no pre-configured limit to the number of Notification Services instances you can run on a server, or the number of Notification Services databases you can have in a single instance of the SQL Server Database Engine.
For information about SQL Server 2005 capacity limitations, see Maximum Capacity Specifications for SQL Server 2005.
You can install multiple versions of Notification Services side by side on a single server. However, instances of Notification Services 2.0 must use SQL Server 2000 databases, and instances of SQL Server 2005 Notification Services must use SQL Server 2005 databases.
For information about upgrading instances of Notification Services to a new version or higher edition, see Migrating Notification Services Instances.
Hostable Notification Services Engine
When you deploy an instance of Notification Services, you register the instance, and install the NS$instanceName Windows service if desired. This Windows service runs the Notification Services engine.
Alternatively, you can host the Notification Services engine in your own application or process, and then start and stop the instance using your application or process. For more information, see Hosting the Notification Services Engine.
What Is Notification Services?
Usage Scenarios for Notification Services
Notification Services Architecture
Notification Services Programming Framework
Notification Services Security, Reliability, Scalability, and Availability
Notification Services and Other Technologies
Editions of Notification Services