2.6.3.18 ExecutableType Instance for Transfer Jobs Task

Transfer Jobs Task transfers SQL Server Agent Jobs between instances of a Microsoft SQL Server database. An executable is a Transfer Jobs Task executable if the ExecutableType attribute value is one of the following:

  • Microsoft.SqlServer.Dts.Tasks.TransferJobsTask.TransferJobsTask, Microsoft.SqlServer.TransferJobsTask, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91

  • STOCK:TransferJobsTask

The Transfer Jobs Task executable is formally defined to be of type AnyNonPackageExecutableType. However, the following XSD fragment, which is expressed as an anonymous complex type declaration, places further restrictions on the type than the restrictions that are declared in the AnyNonPackageExecutableType type declaration. An Executable element with the ExecutableType attribute value equal to "Microsoft.SqlServer.Dts.Tasks.TransferJobsTask.TransferJobsTask, Microsoft.SqlServer.TransferJobsTask, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" or "STOCK:TransferJobsTask" MUST follow the anonymous type declaration that is contained in this section.

Note the following differences between this anonymous complex type declaration and the full definition of the complex type for the AnyNonPackageExecutableType type:

  • This Executable element MUST NOT contain an Executable element.

  • This Executable element MUST NOT contain a ForEachEnumerator element.

  • This Executable element MUST NOT contain a ForEachVariableMapping element.

  • In the AnyNonPackageExecutableType type, the type of the ObjectData element is given as ExecutableObjectDataType. The ExecutableObjectDataType type definition contains an xs:choice XSD Schema element. However, not all of the choices that are allowed in the xs:choice XSD Schema element are available for the Transfer Jobs Task executable. For this Executable element, the ObjectData element MUST contain the TransferJobsTaskData element of type TransferJobsTaskDataObjectDataType.

  • The allowed values for the Name attribute of the Property element are a restricted subset of the values that are allowed on the type, as specified in the AnyNonPackageExecutablePropertyNameEnum type. Hence, the formal type declarations of the Property element and the PropertyExpression elements are replaced in this anonymous XSD fragment with a reference to the TaskExePropertyNameEnum simple type. The Name attribute of the Property element MUST be restricted to the values that are shown as valid in the XSD fragment that is contained in the TaskExePropertyNameEnum section.

For more information about the elements, attributes, and enumeration values in the following XSD fragment, see section 2.5.

   <xs:complexType>
     <xs:sequence>
       <xs:element name="ForEachEnumerator"
                   type="DTS:ForEachEnumeratorType"
                   minOccurs="0" maxOccurs="0"/>
       <xs:element name="Property"
                   maxOccurs="unbounded">
         <xs:complexType>
           <xs:complexContent>
             <xs:extension base="DTS:PropertyElementBaseType">
               <xs:attribute name="Name"
                   type="DTS:TaskExePropertyNameEnum"
                   use="required"/>
             </xs:extension>
           </xs:complexContent>
         </xs:complexType>
       </xs:element>
       <xs:element name="Variable" type="DTS:VariableType"
                   minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="LoggingOptions" type="DTS:LoggingOptionsType"/>
       <xs:element name="PropertyExpression"
                   type="DTS:PropertyExpressionElementType"
                   minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="PrecedenceConstraint"
                   type="DTS:PrecedenceConstraintType"
                   minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="ForEachVariableMapping"
                   type="DTS:ForEachVariableMappingType"
                   minOccurs="0" maxOccurs="0"/>
       <xs:element name="EventHandler" type="DTS:EventHandlerType"
                   minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="ObjectData">
         <xs:complexType>
           <xs:choice>
             <xs:element name="TransferJobsTaskData" form="unqualified"
                         type="DTS:TransferJobsTaskDataObjectDataType"/>
           </xs:choice>
         </xs:complexType>
       </xs:element>
     </xs:sequence>
     <xs:attribute name="ExecutableType" use="required">
       <xs:simpleType>
         <xs:restriction base="xs:string">
           <xs:enumeration          
               value="Microsoft.SqlServer.Dts.Tasks.TransferJobsTask.TransferJobsTask, 
               Microsoft.SqlServer.TransferJobsTask, Version=10.0.0.0, Culture=neutral, 
               PublicKeyToken=89845dcd8080cc91"/>
           <xs:enumeration value="STOCK:TransferJobsTask"/>
         </xs:restriction>
       </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="ThreadHint" use="optional" type="xs:int"/>
   </xs:complexType>