Complete ADF Template

The following template contains all application definition file (ADF) elements. Typically, you will not use all ADF elements in a single application. For example, a single event rule in your application can contain a ConditionAction element or Action element, but not both elements.

In addition, not all options can be used together. For example, you can use either digest delivery or multicast delivery in a notification class.

Important

If you do not define a value for an element, make sure you want to use the default value, and then omit the element from the ADF. Many elements cannot be empty.

Click Copy Code to copy this template to the Clipboard.

<?xml version="1.0" encoding="utf-8" ?>
<Application xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="https://www.microsoft.com/MicrosoftNotificationServices/ApplicationDefinitionFileSchema">

<!--Default Parameters-->
<ParameterDefaults>
   <!--Multiple Parameter Elements Allowed-->
   <Parameter>
      <Name></Name>
      <Value></Value>
   </Parameter>
</ParameterDefaults>

<!--Application Version-->
<Version>
   <Major></Major>
   <Minor></Minor>
   <Build></Build>
   <Revision></Revision>
</Version>

<!--Application History-->
<History>
   <CreationDate></CreationDate>
   <CreationTime></CreationTime>
   <LastModifiedDate></LastModifiedDate>
   <LastModifiedTime></LastModifiedTime>
</History>

<!--Application Database-->
<Database>
   <DatabaseName></DatabaseName>
   <SchemaName></SchemaName>
   <!--Multiple NamedFileGroup Elements Allowed-->
   <NamedFileGroup>
      <FileGroupName></FileGroupName>
      <FileSpec>
         <LogicalName></LogicalName>
         <FileName></FileName>
         <Size></Size>
         <MaxSize></MaxSize>
         <GrowthIncrement></GrowthIncrement>
      </FileSpec>
   </NamedFileGroup>
   <LogFile>
      <LogicalName></LogicalName>
      <FileName></FileName>
      <Size></Size>
      <MaxSize></MaxSize>
      <GrowthIncrement></GrowthIncrement>
   </LogFile>
   <DefaultFileGroup></DefaultFileGroup>
   <CollationName></CollationName>
</Database>

<!--Event Classes-->
<EventClasses>
   <!--Multiple EventClass Elements Allowed-->
   <EventClass>
      <EventClassName></EventClassName>
      <Schema>
         <!--Multiple Field Elements Allowed-->
         <Field>
            <FieldName></FieldName>
            <FieldType></FieldType>
            <FieldTypeMods></FieldTypeMods>
         </Field>
      </Schema>
      <FileGroup></FileGroup>
      <IndexSqlSchema>
         <SqlStatement></SqlStatement>
      </IndexSqlSchema>
      <ChronicleRule>
         <RuleName></RuleName>
         <Action></Action>
         <ActionTimeout></ActionTimeout>
      </ChronicleRule>
      <Chronicles>
         <!--Multiple Chronicle Elements Allowed-->
         <Chronicle>
            <ChronicleName></ChronicleName>
            <SqlSchema>
               <!--Multiple SqlStatement Elements Allowed-->
               <SqlStatement></SqlStatement>
            </SqlSchema>
         </Chronicle>
      </Chronicles>
   </EventClass>
</EventClasses>

<!--Subscription Classes-->
<SubscriptionClasses>
   <!--Multiple SubscriptionClass Elements Allowed-->
   <SubscriptionClass>
      <SubscriptionClassName></SubscriptionClassName>
      <Schema>
         <!--Multiple Field Elements Allowed-->
         <Field>
             <FieldName></FieldName>
             <FieldType></FieldType>
             <FieldTypeMods></FieldTypeMods>
         </Field>
      </Schema>
      <FileGroup></FileGroup>
      <IndexSqlSchema>
         <SqlStatement></SqlStatement>
      </IndexSqlSchema>
      <EventRules>
         <!--Multiple EventRule Elements Allowed-->
         <EventRule>
            <RuleName></RuleName>
            <!-- Action or ConditionAction, not both -->
            <Action></Action>
            <ConditionAction>
               <SqlLogin></SqlLogin> 
               <SqlUser></SqlUser> 
               <InputName></InputName> 
               <InputSchema></InputSchema> 
               <SqlExpression></SqlExpression> 
            </ConditionAction>
             <ActionTimeout></ActionTimeout>
            <EventClassName></EventClassName>
         </EventRule>
      </EventRules>
      <ScheduledRules>
         <!--Multiple ScheduledRule Elements Allowed-->
         <ScheduledRule>
            <RuleName></RuleName>
            <!-- Action or ConditionAction, not both -->
            <Action></Action>
            <ConditionAction>
               <SqlLogin></SqlLogin> 
               <SqlUser></SqlUser> 
               <InputName></InputName> 
               <InputSchema></InputSchema> 
               <SqlExpression></SqlExpression> 
            </ConditionAction>
            <ActionTimeout></ActionTimeout>
         </ScheduledRule>
      </ScheduledRules>
      <Chronicles>
         <!--Multiple Chronicle Elements Allowed-->
         <Chronicle>
            <ChronicleName></ChronicleName>
            <SqlSchema>
               <!--Multiple SqlStatement Elements Allowed-->
               <SqlStatement></SqlStatement>
            </SqlSchema>
         </Chronicle>
      </Chronicles>
   </SubscriptionClass>
</SubscriptionClasses>

<!--Notification Classes-->
<NotificationClasses>
   <!--Multiple NotificationClass Elements Allowed-->
   <NotificationClass>
      <NotificationClassName></NotificationClassName>
      <Schema>
         <Fields>
            <!--Multiple Field Elements Allowed-->
            <Field>
               <FieldName></FieldName>
               <FieldType></FieldType>
               <DigestGrouping></DigestGrouping>
            </Field>
         </Fields>
         <ComputedFields>
            <!--Multiple ComputedField Elements Allowed-->
            <ComputedField>
               <FieldName></FieldName>
               <SqlExpression></SqlExpression>
               <DigestGrouping></DigestGrouping>
            </ComputedField>
         </ComputedFields>
      </Schema>
      <FileGroup></FileGroup>
      <ContentFormatter>
         <ClassName></ClassName>
         <AssemblyName></AssemblyName>
         <Arguments>
            <!--Multiple Argument Elements Allowed-->
            <Argument>
               <Name></Name>
               <Value></Value>
            </Argument>
         </Arguments>
      </ContentFormatter>
      <DigestDelivery></DigestDelivery>
      <MulticastDelivery></MulticastDelivery>
      <NotificationBatchSize></NotificationBatchSize>
      <Protocols>
         <!--Multiple Protocol Elements Allowed-->
         <Protocol>
            <ProtocolName></ProtocolName>
            <Fields>
               <!--Multiple Field Elements Allowed-->
               <Field>
                  <!-- FieldName AND SqlExpression, OR FieldReference -->
                  <FieldName></FieldName>
                  <SqlExpression></SqlExpression>
                  <FieldReference></FieldReference>
               </Field>
            </Fields>
            <ProtocolExecutionSettings>
               <RetrySchedule>
                  <!--Multiple RetryDelay Elements Allowed-->
                  <RetryDelay></RetryDelay>
               </RetrySchedule>
               <FailuresBeforeLoggingEvent></FailuresBeforeLoggingEvent>
               <FailureEventLogInterval></FailureEventLogInterval>
               <FailuresBeforeAbort></FailuresBeforeAbort>
               <MulticastRecipientLimit></MulticastRecipientLimit>
               <WorkItemTimeout></WorkItemTimeout>
            </ProtocolExecutionSettings>
         </Protocol>
      </Protocols>
      <ExpirationAge></ExpirationAge>
   </NotificationClass>
</NotificationClasses>

<!--Event Providers-->
<Providers>
   <!--Multiple HostedProvider Elements Allowed-->
   <HostedProvider>
      <ProviderName></ProviderName>
      <ClassName></ClassName>
      <AssemblyName></AssemblyName>
      <SystemName></SystemName>
      <Schedule>
         <StartTime></StartTime>
         <Interval></Interval>
      </Schedule>
      <ProviderTimeout></ProviderTimeout>
      <Arguments>
         <!--Multiple Argument Elements Allowed-->
         <Argument>
            <Name></Name>
            <Value></Value>
         </Argument>
      </Arguments>
   </HostedProvider>
   <!--Multiple NonHostedProvider Elements Allowed-->
   <NonHostedProvider>
      <ProviderName></ProviderName>
   </NonHostedProvider>
</Providers>

<!--Generator-->
<Generator>
   <SystemName></SystemName>
   <ThreadPoolSize></ThreadPoolSize>
</Generator>

<!--Distributors-->
<Distributors>
   <!--Multiple Distributor Elements Allowed-->
   <Distributor>
      <SystemName></SystemName>
      <ThreadPoolSize></ThreadPoolSize>
      <QuantumDuration></QuantumDuration>
   </Distributor>
</Distributors> 

<!--Application Execution Settings-->
<ApplicationExecutionSettings>
   <QuantumDuration></QuantumDuration>
   <ChronicleQuantumLimit></ChronicleQuantumLimit>
   <SubscriptionQuantumLimit></SubscriptionQuantumLimit>
   <ProcessEventsInOrder></ProcessEventsInOrder>
   <PerformanceQueryInterval></PerformanceQueryInterval>
   <EventThrottle></EventThrottle>
   <SubscriptionThrottle></SubscriptionThrottle>
    <NotificationThrottle></NotificationThrottle>
   <DistributorLogging>
      <LogBeforeDeliveryAttempts></LogBeforeDeliveryAttempts>
      <LogStatusInfo></LogStatusInfo>
      <LogNotificationText></LogNotificationText>
   </DistributorLogging>
   <Vacuum>
      <RetentionAge></RetentionAge>
      <VacuumSchedule>
         <Schedule>
            <StartTime></StartTime>
            <Duration></Duration>
         </Schedule>
      </VacuumSchedule>
   </Vacuum>
</ApplicationExecutionSettings>
</Application>

See Also

Reference

Application Definition File Reference

Other Resources

Defining Notification Services Applications
Application Definition File Templates

Help and Information

Getting SQL Server 2005 Assistance