Microsoft.SqlServer.Management.Dmf Namespace

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

Classes

Condition

The Condition object represents a policy-based management condition.

Condition.Key

The Condition.Key class represents the key that identifies the Condition class.

ConditionCollection

The ConditionCollection class represents a collection of Condition objects that represent all the conditions in the policy store.

ConditionExtender

The ConditionExtender class is an exception that is raised when the expression tree is incorrect.

ConnectionEvaluationHistory

The ConnectionEvaluationHistory object represents information about parent policy evaluation that is stored in the system catalogs.

ConnectionEvaluationHistory.Key

The ConnectionEvaluationHistory.Key class represents the key that is used to identify the ConnectionEvaluationHistory class.

ConnectionEvaluationHistoryCollection

The ConnectionEvaluationHistoryCollection class represents a collection of ConnectionEvaluationHistory objects that represent all the connection evaluation histories that are in the evaluation history.

EvaluationDetail

The EvaluationDetail object represents the evaluation information that is stored in the system catalogs about the parent policy for a given target.

EvaluationDetail.Key

The EvaluationDetail.Key class represents the key that is used to identify the EvaluationDetail class.

EvaluationDetailCollection

The EvaluationDetailCollection class represents a collection of EvaluationDetail objects that represent all the detail rows that are in the evaluation.

EvaluationFactory

Represents the evaluation factory in policy-based management services.

EvaluationHistory

The EvaluationHistory object represents information about parent policy evaluation that is stored in the system catalogs.

EvaluationHistory.Key

The EvaluationHistory.Key class represents the key that identifies the EvaluationHistory class.

EvaluationHistoryCollection

The EvaluationHistoryCollection class represents a collection of EvaluationHistory objects that represent all evaluation histories that are in the policy store.

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.

ExpressionNodeAttribute

The ExpressionNodeAttribute object represents an attribute of a policy-based management expression node.

ExpressionNodeChildren

The ExpressionNodeChildren object represents the child expression nodes that are dependent on an expression node.

ExpressionNodeConstant

The ExpressionNodeConstant object represents an constant value that is used in an expression.

ExpressionNodeFunction

The ExpressionNodeFunction object represents part of a policy-based management expression that is a function.

ExpressionNodeGroup

The ExpressionNodeGroup object represents an expression node that is a group.

ExpressionNodeOperator

The ExpressionNodeOperator object represents an expression node that is an operator.

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.

FacetInfoCollection

The FacetInfoCollection class represents a collection of FacetInfo objects that represent all facets on the instance of SQL Server.

ObjectSet

The ObjectSet object represents a policy-based management set of objects.

ObjectSet.Key

The ObjectSet.Key class represents the key that identifies the ObjectSet class.

ObjectSetCollection

The ObjectSetCollection class represents a collection of ObjectSet objects that represent all the object sets in the policy store.

Policy

The Policy object represents a Policy-Based Management policy. A policy represents the relationship between a target object and a condition.

Policy.ConnectionProcessingFinishedEventArgs

Represents the arguments that are passed to the event handler when the connection processing is finished.

Policy.ConnectionProcessingStartedEventArgs

Represents the arguments that are passed to the event handler when the connection processing has started.

Policy.Key

The Policy.Key class represents the key that identifies each instance of the Policy class.

Policy.PolicyEvaluationFinishedEventArgs

Represents the arguments that are passed to the event handler when the evaluation of a policy finishes.

Policy.TargetProcessedEventArgs

Represents the arguments that are passed to the event handler when the target is processed.

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.

PolicyCategory.Key

The PolicyCategory.Key class represents the key that identifies the PolicyCategory class.

PolicyCategoryCollection

The PolicyCategoryCollection class represents a collection of PolicyCategory objects that represent all policy categories in the policy store.

PolicyCategoryInformation

Contains information about the policy category in policy-based management services.

PolicyCategorySubscription

The PolicyCategorySubscription object represents a subscription to a particular policy category.

PolicyCategorySubscription.Key

The PolicyCategorySubscription.Key class represents the key that identifies the PolicyCategorySubscription class.

PolicyCategorySubscriptionCollection

The PolicyCategorySubscriptionCollection class represents a collection of PolicyCategorySubscription objects that represent all policy category subscriptions that are in the policy store.

PolicyCollection

The PolicyCollection class represents a collection of Policy objects that represent all policies in the policy store.

PolicyEvaluationResultsWriter

Represents the XML writer that records the policy evaluation history in Policy-Based Management.

PolicyEvaluationWrapper

Represents a wrapper class for the policy evaluation.

PolicyExtender

Contains additional functionality for the Policy object.

PolicyStore

The PolicyStore type is the root of the DMF object model.

PolicyStore.Key

The PolicyStore.Key class represents the key that identifies each instance of the PolicyStore class.

PolicyStoreUpgradeSession

Represents a policy store upgrade session.

TargetEvaluation

Represents the target evaluation in policy-based management services.

TargetSet
TargetSet.Key

The TargetSet.Key class represents the key that identifies the TargetSet class.

TargetSetCollection

The TargetSetCollection class represents a collection of TargetSet objects that represent all the policies in the policy store.

TargetSetLevel

Represents the target set level in policy-based management services.

TargetSetLevel.Key

The TargetSetLevel.Key class represents the key that identifies the TargetSetLevel class.

TargetSetLevelCollection

The TargetSetLevelCollection class represents a collection of TargetSetLevel objects that represent all target set levels in the target set.

Utils

Represents a utility class that is used in policy-based management services.

Enums

AdHocPolicyEvaluationMode

The AdHocPolicyEvaluationMode enumeration contains values that specify the method that is used to evaluate the policy.

ExpressionNodeFunction.Function

The ExpressionNodeFunction.Function enumeration contains values that represent the different types of supported functions.

ExpressionNodeType

The ExpressionNodeType enumeration contains values that specify the type of expression node.

NameConditionType

The NameConditionType enumeration contains values that are used to specify the condition that is used in a policy.

OperatorType

Specifies the type of operator.

PolicyHealthState

The PolicyHealthState enumeration contains values that specify the health state of the policy.

PolicyStore.EnumerationMode

Specifies the enumeration mode for the PolicyStore object.

TypeClass

The TypeClass enumeration contains values that describe the different class types.

Delegates

Policy.ConnectionProcessingFinishedEventHandler

The Policy.ConnectionProcessingFinishedEventHandler class represents the event handler that handles the event that occurs when the processing of the connection has finished.

Policy.ConnectionProcessingStartedEventHandler

The Policy.ConnectionProcessingStartedEventHandler class represents the event handler that handles the event that occurs when the processing of a connection has started.

Policy.PolicyEvaluationFinishedEventHandler

Represents the arguments that are passed to the event handler when a policy evaluation finishes.

Policy.PolicyEvaluationStartedEventHandler

The Policy.PolicyEvaluationStartedEventHandler class represents the event handler that handles the event that occurs when the evaluation of a policy has started.

Policy.TargetProcessedEventHandler

The Policy.TargetProcessedEventHandler class represents the event handler that handles the event that occurs when the target has been processed.

Remarks

The top-level instance is the PolicyStore class, which proves the connection to the instance of SQL Server.

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.