SQL Server Notification Services (How Do I)
Microsoft SQL Server Notification Services is the SQL Server platform for developing and deploying applications that generate and send notifications. Notification Services can send timely, personalized messages to thousands or millions of subscribers, and can deliver the messages to a wide variety of devices.
Notification Services includes XML schemas and Notification Services Management Objects (NMO) for building applications; SQL Server Management Studio dialogs, command-line tools, and NMO support for deploying and managing Notification Services instances, and application programming interfaces (APIs) for building subscription management interfaces and custom components.
The following list of key topics will help you learn more about how to install, understand, and use Notification Services.
Orientation and Setup
- Introducing SQL Server Notification Services
Learn about the new platform for developing and deploying applications that generate and send notifications to users. Notifications are personalized, timely messages that can be sent to a wide variety of devices.
- Installing SQL Server Notification Services
Notification components must be installed wherever there's an instance. This section covers everything you need to know about installing Notification Services in any environment.
- Migrating Notification Services Instances
If you have Notification Services 2.0 instances, this section covers how to migrate those instances to SQL Server 2005.
- Security Considerations for Notification Services
This topic describes the Notification Services security model and lists important security considerations for Notification Services applications.
Designing and Creating
- Notification Services Tutorial
If you are new to Notification Services, start by building a sample application using this tutorial.
Defining Notification Services Applications
To build a Notification Services application, you define the application properties. You can define these properties in an application definition file (ADF) using XML or programmatically using NMO.
When you build your own application, use this section to learn how to define the settings for your application.
Configuring Instances of Notification Services
Each Notification Services application is hosted by a Notification Services instance. This instance defines the instance database, which stores settings and subscriber data for all applications hosted by the instance. You can configure a Notification Services instance in an instance configuration file (ICF) using XML or programmatically using NMO.
When you configure an instance of Notification Services, use this section to learn what to define and how to define it.
- Developing Subscription Management Interfaces
Subscriber and subscription information is entered into the Notification Services system through a subscription management interface. This interface is often a Web application based on Active Server Pages (ASP) or ASP.NET technologies. This section describes how to build a subscription management interface using the subscription management API.
Developing Custom Notification Services Components
You can create a complete notification application using standard Notification Services event providers, content formatters, and delivery protocols. However, Notification Services also provides APIs for developing custom versions of these components, so that you can tailor them to your requirements.
This section provides an overview of building custom components and links to the APIs used to build those components.
- Hosting the Notification Services Engine
The Notification Services engine runs hosted event providers, generators, and distributors. In SQL Server 2005, you can host this engine in your own applications or processes. This topic shows you how.
Deploying and Testing
- Deploying Notification Services
After you define an application and configure an instance to host that application, you must deploy the instance. This section walks you through deploying Notification Services in a variety of system configurations.
- Troubleshooting Notification Services
If your Notification Services applications are not working as planned, use this section to help you troubleshoot the problems.
- Securing Notification Services
Implementing security when deploying an instance is documented in the deployment walkthroughs, which are in the deployment section listed above. This section provides details about Notification Services security.
- Controlling Instance and Application Operation
When you deploy an instance of Notification Services, you must enable the instance and start the Notification Services engine. When you administer an instance of Notification Services, you sometimes need to stop or disable the instance. This section describes how to start, stop, enable, and disable instances, individual applications, and individual components.
- Backing Up and Recovering Notification Services
To prepare for hardware failures or other types of disaster recovery, you must back up Notification Services instance and application components, and the databases used for operational data. This section describes what to back up and how to recover.
- Maintaining High Availability
If your applications are used by customers or are critical within your organization, you want those applications to have minimal down time. This section describes the high availability options available for Notification Services.
- Updating Instances and Applications
Once you have your notification application running, you may need to change delivery channels, add and delete applications from the instance, or modify existing applications. This section describes how to update your instances and applications.
- Moving Instances of Notification Services
If you need to move an instance, instance components, or databases to other servers, you must make sure your instance and application components are updated. This section describes what needs to be updated and how to perform the updates.
- Removing Obsolete Application Data
Over time, accumulated data can slow performance of Notification Services applications. This section describes how to configure a process called "vacuuming" to automatically remove obsolete data from application databases.
- Deleting Instances of Notification Services
If you need to delete an instance of Notification Services, this topic describes what happens when you delete and instance and the process for deleting it.
- Tips for Evaluating Performance
This topic summarizes the flow of events and notifications through the system, and describes how you can monitor the flow of information to watch for performance bottlenecks.
- Notification Services Performance Reports
Performance reports help monitor and troubleshoot instance and application performance. Learn here how to obtain information on event collection, notification generation, delivery, average notification latency, failed deliveries, and many other areas.
- Notification Services Stored Procedures (Transact-SQL)
Stored procedures are an often-overlooked resource for administering and troubleshooting an application. Here you will find useful reference information about Notification Services stored procedures, grouped by common tasks.
- Notification Services Tables
Provides information about the Notification Services tables.
- Notification Services Views
Documents the public Notification Services views, which you can use to view data and to submit some event, subscriber, and subscription data.
- nscontrol Utility
Notification Services provides dialogs in SQL Server Management Studio and an nscontrol command-line utility for administering Notification Services instances. The nscontrol utility allows you to script administration tasks. The utility is comprehensively documented here.
- Application Definition File Reference
Provides reference information on the elements in the XML application definition file (ADF).
- Instance Configuration File Reference
Provides reference information on the elements in the XML instance configuration file (ICF).
- Microsoft.SqlServer.NotificationServices Class Library
Provides reference information on the core Notification Services API, which is primarily used in applications that submit events and manage subscriptions.
- Microsoft.SqlServer.NotificationServices.Rules Class Library
Provides reference information on the API for developing conditions for Notification Services applications and rules for stand-alone Rules usage.
- Microsoft.SqlServer.Management.Nmo Class Library
Provides reference information for Notification Services Management Objects (NMO) for Notification Services. These objects are used to create and manage instances of Notification Services.
- Subscriber Locale Codes
Lists the subscriber locale codes for Notification Services.
- Time Zone Codes
Lists the time zone codes for Notification Services.