IDTSInput100.HasSideEffects Property

Gets or sets a value that indicates whether a data flow component should be removed or remain in the execution plan of a data flow task when its output is not attached to a downstream component and when the RunInOptimizedMode property of the Data Flow task is true.

Namespace:  Microsoft.SqlServer.Dts.Pipeline.Wrapper
Assembly:  Microsoft.SqlServer.DTSPipelineWrap (in Microsoft.SqlServer.DTSPipelineWrap.dll)

Syntax

'Declaration
Property HasSideEffects As Boolean
    Get
    Set
'Usage
Dim instance As IDTSInput100
Dim value As Boolean

value = instance.HasSideEffects

instance.HasSideEffects = value
bool HasSideEffects { get; set; }
property bool HasSideEffects {
    bool get ();
    void set (bool value);
}
abstract HasSideEffects : bool with get, set
function get HasSideEffects () : boolean
function set HasSideEffects (value : boolean)

Property Value

Type: System.Boolean
true if the component performs custom actions that are not visible to the data flow engine; otherwise, false.

Remarks

When you set the HasSideEffects property of an IDTSInput100 to true, you are indicating to the data flow engine that the component to which the input belongs performs custom actions that are not visible to the engine. As a result, the component will not be removed from the execution plan when the RunInOptimizedMode property of the Data Flow task is true.

For example, a destination component does not have an output, so if the HasSideEffects property of its input was false, the data flow engine could conclude that the destination performed no action, and remove it from the execution plan.

The HasSideEffects property of an IDTSInput100 will always be true on a destination component (which has no output), and the HasSideEffects property of an IDTSOutput100 will always be true on a source component (which has no input). Both properties will usually be false on a transformation component.

However the HasSideEffects property of the input of the Row Count transformation is set to true. As a result, the Row Count transformation does not require that its output be attached to a downstream component. Therefore, it can be used during package debugging as a temporary destination without having to save any data.