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.

Designing and Creating

  • 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.

Administering

  • 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.
  • 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 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.

Programming

  • 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.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.

See Also

Other Resources

SQL Server Notification Services

Help and Information

Getting SQL Server 2005 Assistance