Microsoft.SqlServer.Management.Dmf Namespace

The Microsoft.SqlServer.Management.Dmf namespace contains classes that represent the SQL Server policy-based management objects. 

The top-level instance is the PolicyStore class, which proves the connection to the instance of SQL Server. The other : Policy, Condition, PolicyGroupSubscription, PolicyCategory, Facets.

The DMF objects can be used to create and manage policies that control the behavior and configuration of an instance of SQL Server. All behavior and configurations are represented by facets. The Microsoft.SqlServer.Management.Facets namespace contains the objects that represent the repository of facets used when defining policies. Policies are used when defining a DAC package using the DAC objects. This enables you control policies when installing a database application structure stored in the DAC package onto an instance of SQL Server. The specified policies determine the instances of SQL Server in the SQL Fabric to which the DAC package can be deployed.

A policy is the result of applying a condition to one of more target object. The condition is a facet combined with a state of behavior, for example, Database Mail is the facet and whether it is installed or not is the state. So, specifying that Database Mail must be installed is a condition. You can create a target set of objects by applying a filter. Then, apply the condition to the target object set to make a policy.

The Microsoft.SqlServer.Management.Dmf namespace resides in the Microsoft.SqlServer.Dmf.dll file. Additionally, some supporting objects are in the Microsoft.SqlServer.DmfSqlClrWrapper.dll and Microsoft.SqlServer.Dmf.Adapters.dll files. You will have to import these files to access the classes in the Microsoft.SqlServer.Management.Dmf namespace.

By using the Microsoft.SqlServer.Management.Dmf namespace, you can do the following:

  • Create, read, update and delete policies, target objects, conditions, filters and subscriptions.

  • Script out the DMF objects associated with the connection.

  • Define a target object set by using a filter.

  • Extract the existing configuration state from an instance of SQL Server and create a policy.

  • Export and import DMF objects.

  • Assign a policy to a set of target objects.

  • Evaluate a policy.

  • Have target subscribe to policy.

Classes

  Class Description
Public class AdapterAlreadyExistsException The AdapterAlreadyExistsException class is an exception that is raised when an attempt is made to retrieve a collection that is not available.
Public class AdapterWrongNumberOfArgumentsException The AdapterWrongNumberOfArgumentsException class is an exception that is raised when the adapter receives the wrong number of arguments.
Public class AssemblyAlreadyRegisteredException The AssemblyAlreadyRegistered class is an exception that is raised when an the adapter receives the wrong number of arguments.
Public class BadEventDataException The BadEventDataException class is an exception that is raised when the event data is incorrect.
Public class BadExpressionTreeException The BadExpressionTreeException class is an exception that is raised when the expression tree is incorrect.
Public class Condition The Condition object represents a policy-based management condition.
Public class Condition.Key The Condition.Key class represents the key that identifies the Condition class.
Public class ConditionCollection The ConditionCollection class represents a collection of Condition objects that represent all the conditions in the policy store.
Public class ConditionExtender The ConditionExtender class is an exception that is raised when the expression tree is incorrect.
Public class ConflictingPropertyValuesException The ConflictingPropertyValuesException class is an exception that is raised when property values conflict.
Public class ConnectionEvaluationHistory The ConnectionEvaluationHistory object represents information about parent policy evaluation that is stored in the system catalogs.
Public class ConnectionEvaluationHistory.Key The ConnectionEvaluationHistory.Key class represents the key that is used to identify the ConnectionEvaluationHistory class.
Public class ConnectionEvaluationHistoryCollection The ConnectionEvaluationHistoryCollection class represents a collection of ConnectionEvaluationHistory objects that represent all the connection evaluation histories that are in the evaluation history.
Public class ConversionNotSupportedException The ConversionNotSupportedException class is an exception that is raised when an unsupported conversion is attempted on a type.
Public class DmfException The DmfException class represents a generic policy-based management exception.
Public class EvaluationDetail The EvaluationDetail object represents the evaluation information that is stored in the system catalogs about the parent policy for a given target.
Public class EvaluationDetail.Key The EvaluationDetail.Key class represents the key that is used to identify the EvaluationDetail class.
Public class EvaluationDetailCollection The EvaluationDetailCollection class represents a collection of EvaluationDetail objects that represent all the detail rows that are in the evaluation.
Public class EvaluationFactory Represents the evaluation factory in policy-based management services.
Public class EvaluationHistory The EvaluationHistory object represents information about parent policy evaluation that is stored in the system catalogs.
Public class EvaluationHistory.Key The EvaluationHistory.Key class represents the key that identifies the EvaluationHistory class.
Public class EvaluationHistoryCollection The EvaluationHistoryCollection class represents a collection of EvaluationHistory objects that represent all evaluation histories that are in the policy store.
Public class ExpressionNode The ExpressionNode object represents a policy-based management expression node. The expression node describes part of an expression, such as a constant value, an operator, or a function.
Public class ExpressionNodeAttribute The ExpressionNodeAttribute object represents an attribute of a policy-based management expression node.
Public class ExpressionNodeChildren The ExpressionNodeChildren object represents the child expression nodes that are dependent on an expression node.
Public class ExpressionNodeConfigurationException The ExpressionNodeConfigurationException class is an exception that is raised when the adapter receives the wrong number of arguments.
Public class ExpressionNodeConstant The ExpressionNodeConstant object represents an constant value that is used in an expression.
Public class ExpressionNodeFunction The ExpressionNodeFunction object represents part of a policy-based management expression that is a function.
Public class ExpressionNodeGroup The ExpressionNodeGroup object represents an expression node that is a group.
Public class ExpressionNodeNotConfigurableException The ExpressionNodeNotConfigurableException class is an exception that is raised when the expression node cannot be configured.
Public class ExpressionNodeNotConfigurableOperatorException The ExpressionNodeNotConfigurableOperatorException class is an exception that is raised if the operator cannot configure the expression node.
Public class ExpressionNodeOperator The ExpressionNodeOperator object represents an expression node that is an operator.
Public class ExpressionSerializationException The ExpressionSerializationException class is an exception that is raised when an the adapter receives the wrong number of arguments.
Public class ExpressionTypeMistmatchException The ExpressionTypeMismatchException class is an exception that is raised when the types in the expression do not match.
Public class FacetInfo The FacetInfo object represents facet information. A facet represents a logical dimension of a target object and is used, together with a local expression, to build a condition.
Public class FacetInfoCollection The FacetInfoCollection class represents a collection of FacetInfo objects that represent all facets on the instance of SQL Server.
Public class FailedOperationException The FailedOperationException class is an exception that is raised when a policy-based management operation fails.
Public class FunctionBadDatePartException The FunctionBadDatePartException class is an exception that is raised when the date that is supplied to the function is not the correct format.
Public class FunctionNoServerException The FunctionNoServerException class is an exception that is raised when the server is not recognized.
Public class FunctionNotASmoObjectException The FunctionNotASmoObjectException class is an exception that is raised when the function encounters an unsupported object.
Public class FunctionTooManyColumnsException The FunctionTooManyColumnsException class is an exception that is raised when the function has too many columns.
Public class FunctionWrongArgumentsNumberException The FunctionWrongArgumentsNumberException class is an exception that is raised when the function receives the incorrect number of arguments.
Public class FunctionWrongArgumentTypeException The FunctionWrongArgumentTypeException class is an exception that is raised when the function receives an argument that is the incorrect type.
Public class FunctionWrongReturnTypeException The FunctionWrongReturnTypeException class is an exception that is raised when the specified return type is not the same as the type that is returned by the function.
Public class InvalidInOperatorException The InvalidInOperatorException class is an exception that is raised when the operator is not valid.
Public class InvalidOperandException The InvalidOperandException class is an exception that is raised when an operand is encountered that is not valid.
Public class MissingJobScheduleException The MissingJobScheduleException class is an exception that is raised when there in no job schedule.
Public class MissingObjectException The MissingObjectException class is an exception that is raised when a specified object is missing.
Public class MissingPropertyException The MissingPropertyException class is an exception that is raised when a specified property is missing.
Public class MissingTypeFacetAssociationException The MissingTypeFacetAssociationException class is an exception that is raised when a specified association between a facet and a type is missing.
Public class NonConfigurableReadOnlyPropertyException The NonConfigurableReadOnlyPropertyException class is an exception that is raised when there is an attempt to configure a read-only property.
Public class NonRetrievablePropertyException The NonRetrievablePropertyException class is an exception that is raised when a property cannot be retrieved.
Public class NoTargetSetEnabledException The NoTargetSetEnabledException class is an exception that is raised when the target set has not been enabled.
Public class NullFacetException The NullFacetException class is an exception that is raised when the facet is not set.
Public class ObjectAlreadyExistsException The ObjectAlreadyExistsException class is an exception that is raised when an attempt to create an object that already exists is made.
Public class ObjectSet The ObjectSet object represents a policy-based management set of objects.
Public class ObjectSet.Key The ObjectSet.Key class represents the key that identifies the ObjectSet class.
Public class ObjectSetCollection The ObjectSetCollection class represents a collection of ObjectSet objects that represent all the object sets in the policy store.
Public class ObjectValidationException The ObjectValidationException class is an exception that is raised when an object encounters an error during validation.
Public class OperatorNotApplicableException The OperatorNotApplicableException class is an exception that is raised when an operator does not have the appropriate permissions.
Public class Policy The Policy object represents a Policy-Based Management policy. A policy represents the relationship between a target object and a condition.
Public class Policy.ConnectionProcessingFinishedEventArgs Represents the arguments that are passed to the event handler when the connection processing is finished.
Public class Policy.ConnectionProcessingStartedEventArgs Represents the arguments that are passed to the event handler when the connection processing has started.
Public class Policy.Key The Policy.Key class represents the key that identifies each instance of the Policy class.
Public class Policy.PolicyEvaluationFinishedEventArgs Represents the arguments that are passed to the event handler when the evaluation of a policy finishes.
Public class Policy.TargetProcessedEventArgs Represents the arguments that are passed to the event handler when the target is processed.
Public class PolicyCategory Represents a category that classifies policies in SQL Server Policy-Based Management. Policy Categories are used to group policies together to which target objects can subscribe.
Public class PolicyCategory.Key The PolicyCategory.Key class represents the key that identifies the PolicyCategory class.
Public class PolicyCategoryCollection The PolicyCategoryCollection class represents a collection of PolicyCategory objects that represent all policy categories in the policy store.
Public class PolicyCategoryInformation Contains information about the policy category in policy-based management services.
Public class PolicyCategorySubscription The PolicyCategorySubscription object represents a subscription to a particular policy category.
Public class PolicyCategorySubscription.Key The PolicyCategorySubscription.Key class represents the key that identifies the PolicyCategorySubscription class.
Public class PolicyCategorySubscriptionCollection The PolicyCategorySubscriptionCollection class represents a collection of PolicyCategorySubscription objects that represent all policy category subscriptions that are in the policy store.
Public class PolicyCollection The PolicyCollection class represents a collection of Policy objects that represent all policies in the policy store.
Public class PolicyEvaluationException The PolicyEvaluationException class is an exception that is raised when an error occurs during the evaluation of a policy.
Public class PolicyEvaluationResultsWriter Represents the XML writer that records the policy evaluation history in Policy-Based Management.
Public class PolicyEvaluationWrapper Represents a wrapper class for the policy evaluation.
Public class PolicyExtender Contains additional functionality for the Policy object.
Public class PolicyStore The PolicyStore type is the root of the DMF object model.
Public class PolicyStore.Key The PolicyStore.Key class represents the key that identifies each instance of the PolicyStore class.
Public class PolicyStoreUpgradeSession Represents a policy store upgrade session.
Public class PostConfigurationActionAttribute Represents a set post configuration action attributes.
Public class RestartPendingException The RestartPendingException class represents the exception that is raised when a system restart is pending.
Public class RestartPendingException<T> The RestartPendingException class is an exception that is raised when an error occurs when a system restart is pending.
Public class StringPropertyTooLongException The StringPropertyTooLongException class is an exception that is raised when the string that is assigned to a property is too long.
Public class TargetEvaluation Represents the target evaluation in policy-based management services.
Public class TargetSet The TargetSet object represents a policy-based Management target set that holds information about levels, the condition for each level, and the target types.
Public class TargetSet.Key The TargetSet.Key class represents the key that identifies the TargetSet class.
Public class TargetSetCollection The TargetSetCollectionCollection class represents a collection of TargetSet objects that represent all the policies in the policy store.
Public class TargetSetCountMismatchException The TargetSetCountMismatchException class is an exception that is raised when the target set and facet counts do not match.
Public class TargetSetLevel Represents the target set level in policy-based management services.
Public class TargetSetLevel.Key The TargetSetLevel.Key class represents the key that identifies the TargetSetLevel class.
Public class TargetSetLevelCollection The TargetSetLevelCollection class represents a collection of TargetSetLevel objects that represent all target set levels in the target set.
Public class TypeConversionException The TypeConversionException class is an exception that is raised when a type conversion error occurs.
Public class UnsupportedObjectTypeException The UnsupportedObjectTypeException class is an exception that is raised when an error occurs when the policy encounters an unsupported object.
Public class UnsupportedTargetSetForFacetException The UnsupportedTargetSetForFacetException class is an exception that is raised when an error occurs when the target set is not supported by the facet.
Public class UnsupportedTypeException The UnsupportedTypeException class is an exception that is raised when an unsupported type is encountered.
Public class Utils Represents a utility class that is used in policy-based management services.

Delegates

  Delegate Description
Public delegate Policy.ConnectionProcessingFinishedEventHandler The Policy.ConnectionProcessingFinishedEventHandler class represents the event handler that handles the event that occurs when the processing of the connection has finished.
Public delegate Policy.ConnectionProcessingStartedEventHandler The Policy.ConnectionProcessingStartedEventHandler class represents the event handler that handles the event that occurs when the processing of a connection has started.
Public delegate Policy.PolicyEvaluationFinishedEventHandler Represents the arguments that are passed to the event handler when a policy evaluation finishes.
Public delegate Policy.PolicyEvaluationStartedEventHandler The PolicyEvaluationStartedEventHandler class represents the event handler that handles the event that occurs when the evaluation of a policy has started.
Public delegate Policy.TargetProcessedEventHandler The TargetProcessedEventHandler class represents the event handler that handles the event that occurs when the target has been processed.

Enumerations

  Enumeration Description
Public enumeration AdHocPolicyEvaluationMode The AdHocPolicyEvaluationMode enumeration contains values that specify the method that is used to evaluate the policy.
Public enumeration AutomatedPolicyEvaluationMode The AutomatedPolicyEvaluationMode enumeration contains values that specify the Policy-Based Management automated policy evaluation modes.
Public enumeration DmfExceptionType The DmfExceptionType enumeration contains values that are used to specify the policy-based management exception types.
Public enumeration ExpressionNodeFunction.Function The ExpressionNodeFunction.Function enumeration contains values that represent the different types of supported functions.
Public enumeration ExpressionNodeType The ExpressionNodeType enumeration contains values that specify the type of expression node.
Public enumeration ExpressionSerializationException.ReaderActionType Represents the reader action type that is associated with the serialization. Do not reference this member directly in your code. It supports the SQL Server infrastructure.
Public enumeration ImportPolicyEnabledState The ImportPolicyEnabledState enumeration contains values that are used to specify the state of the import policy.
Public enumeration NameConditionType The NameConditionType enumeration contains values that are used to specify the condition that is used in a policy.
Public enumeration OperatorType Specifies the type of operator.
Public enumeration PolicyEffectiveState The PolicyEffectiveState enumeration contains values that are used to specify the effectiveness of the policy.
Public enumeration PolicyHealthState The PolicyHealthState enumeration contains values that specify the health state of the policy.
Public enumeration PolicyStore.EnumerationMode Specifies the enumeration mode for the PolicyStore object.
Public enumeration PostConfigurationAction The PostConfigurationAction enumeration contains values that specify the action to take after configuration finishes.
Public enumeration TypeClass The TypeClass enumeration contains values that describe the different class types.