Provides analysis regarding the impact and consequences of deleting variables and connections from a package. This class cannot be inherited.
Assembly: Microsoft.SqlServer.ManagedDTS (in Microsoft.SqlServer.ManagedDTS.dll)
'Declaration Public NotInheritable Class ObjectReferenceTracker _ Inherits DtsObject 'Usage Dim instance As ObjectReferenceTracker
public sealed class ObjectReferenceTracker : DtsObject
public ref class ObjectReferenceTracker sealed : public DtsObject
[<SealedAttribute>] type ObjectReferenceTracker = class inherit DtsObject end
public final class ObjectReferenceTracker extends DtsObject
The ObjectReferenceTracker type exposes the following members.
|AddReference||This method adds a reference to a list for reference tracking.|
|DestroyList||This method destroys the specified reference list from reference tracking.|
|Equals||Determines whether two object instances are equal. (Inherited from DtsObject.)|
|Finalize||(Inherited from Object.)|
|GetHashCode||Returns the hash code for this instance. (Inherited from DtsObject.)|
|GetType||(Inherited from Object.)|
|MemberwiseClone||(Inherited from Object.)|
|RemoveReference||Removes a reference from an existing list.|
|SetListInfo||This method allows you to provide metadata for an existing reference list.|
|ToString||(Inherited from Object.)|
The ObjectReferenceTracker is a mechanism for viewing impact analysis. You register the objects that your components are using and where they are found. If another user or component attempts to delete an object, the system can provide information allowing you to verify that the object is not in use elsewhere, and if it is used elsewhere, display the information to you. When you add or delete a reference to a variable from a component or package, you have to update the lists of variable reference.
Currently, the types of objects supported by the reference tracker are listed in the DTSObjectReferenceType enumeration.
A runtime task or pipeline component that uses variables or collections uses the AddReference method to create a reference list of objects. You also need to provide a usage location and description for the list by calling SetListInfo. For example, a task with a single variable would use its name as the location information, and a description of what the variable is used for as the usage description.
Tasks or components that make different uses of variables or connections may create as many separate reference lists as necessary. For example, the Conditional Split component uses variables in expressions on outputs, and you can create a separate reference list for each output expression that uses variables. You set the component name as the usage location and include the expression and where it is found in the description. If the same variable is used in multiple expressions, each usage location will be tracked by the system.
There are separate DTSObjectReferenceType enumerations for read-only variables and read/write variables. Using this specification, in conjunction with variable locking with the VariableDispenser class, can provide information that is useful when resolving deadlock issues.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.