The namespace contains classes that represent the Dac objects. The top-level instance is called DacStore and provides the connection to SQL Server. The Dac objects can be used to create and manage a DAC package, which contains all the information required to re-create a data-tier application.
The namespace contains the DAC objects. The DAC objects are used together with the , , and namespaces to create DAC packages. The DAC packages can be installed on an instance of SQL Server using the DAC object model, or deployed onto the SQL Server Utility using the SQL Server Utility object model. In Design mode, SMO is not connected to an instance of SQL Server. The SMO objects are used to design a data-tier application structure which can be saved into the DAC package. A DAC package can also include a limited amount of reference data and some miscellaneous files. Policy information is stored for each SMO instance class, and for the overall instance of SQL Server using DMF conditions. After it is created, the DAC package can be used to install the data-tier application on an instance of SQL Server that meets the specified DMF conditions. In connected mode, the SMO Server object represents an instance of SQL Server.
The namespace resides in the Microsoft.SqlServer.Management.Dac.dll file. Additionally, some of the enumeration classes are in the Microsoft.SqlServer.Management.DacEnum.dll files. You must import both files to access the classes in the namespace. In addition, you must import the , , and namespaces to create a DAC package.
By using the namespace, you can do the following:
Create an object graph that represents the data-tier application structure.
Add reference data.
Add miscellaneous files
Add deployment conditions.
Add configuration conditions.
Install the DAC package.
Upgrade a DAC package.
Create a DAC package.
Load and save a DAC package from file (serialize and deserialize).
|ActionNotSupportedException||The ActionNotSupportedException class is used to raise an exception when the requested data-tier action, such as upgrade or register, is not supported by the version of the Database Engine the application is connected to.|
|BinarySourceBase||The BinarySourceBase type is a base class that provides access to the IBinarySource interface.|
|ConnectionNotSetException||The ConnectionNotSetException class is used to raise an exception when the connection passed to a DAC action, such as install, upgrade, or uninstall.|
|DacActionEventArgs||Represents the data sent when an event is raised by a DAC action step during both deployment and uninstall.|
|DacActionValidator||Validates that the requirements of the DAC action (install, upgrade, or uninstall) are in place.|
|DacCompilationError||The class represents an error generated when the DAC package is being compiled.|
|DacCompilationErrorCollection||The DacCompilationErrorCollection type stores a collection of DAC compilation errors.|
|DacCompilationResult||The DacCompilationResult class represents the DAC package and the collection of errors generated by compiling it.|
|DacCompilationUnit||The DacCompilationUnit accepts Transact-SQL content and compiles it into a data-tier application (DAC) type. Any Transact-SQL file can be added or removed prior to compilation.|
|DacConfig||The DacConfig class returns data-tier application (DAC) configuration information.|
|DacDatabaseInformation||The DacDatabaseInformation object stores information about data-tier application (DAC) actions that can be performed on a database.|
|DacDomain||The DacDomain class instantiates the Microsoft.SqlServer.Management.Sdk.Sfc methods and properties inherited by the DacStore class.|
|DacDomain.Key||The DacDomain.Key class contains the key that identifies the DacDomain class.|
|DacException||The DacException class is a generic exception that is raised when an error occurs using the namespace.|
|DacExtractionException||The DacExtractionException class is a an exception that is raised when an error occurs during extraction of a DAC package.|
|DacExtractionUnit||The DacExtractionUnit class contains the information that must be extracted to a DAC type, such as server graphs and miscellaneous files.|
|DacExtractValidationResult||The DacExtractValidationResult object represents the result of extracting objects from a DAC package.|
|DacInstance||The DacInstance type stores metadata information, such as the instance name and date created, about a deployed instance of a data-tier application (DAC).|
|DacInstance.Key||The DacInstance.Key class represents the key that identifies the DacInstance class.|
|DacInstanceCollection||The DacInstanceCollection type stores one or more DAC instances contained in an instance of the Database Engine.|
|DacServerInformation||The DacServerInformation class specifies the level of support for data-tier application (DAC) operations, such as upgrade, in an instance of the Database Engine.|
|DacStore||The DacStore type is the root of the DAC object model. It is the root for a collection of DAC instances.|
|DacType||The DacType class represents the set of data-tier objects, policies, and properties developed and deployed to support a specific application.|
|DacUpgradeOptions||Use this type to specify which options are taken when upgrading a DAC instance.|
|DacUpgradeResult||The DacUpgradeResult class records information about the results of upgrading a DAC instance.|
|DatabaseDeploymentProperties||The DatabaseDeploymentProperties object represents the properties of a deployed database.|
|DatabaseExtractValidator||Validates that the database can be extracted.|
|DeploymentValidationException||The DeploymentValidationException class represents an exception thrown during DAC deployment due to a validation error.|
|DesignModeServerExtractException||The DesignModeServerExtractException class represents an exception that is raised the server containing the database specified in an extract operation is in Design mode.|
|ExtractValidationException||The ExtractValidationException class represents an exception thrown during a validation operation.|
|FailedTargetSelectionException||The FailedTargetSelectionException class represents an exception that is thrown when target selection policy fails during deployment of a DAC.|
|FileExtraSource||The type represents a miscellaneous file that is included in the DAC package.|
|InvalidaDACTypeCredentialsException||The class is an exception that is raised when upgrading a DAC if the credentials of the new DAC type do not match the credentials of the current DAC instance.|
|InvalidaDatabaseStateException||The class is an exception that is raised when a database is in a state that cannot support a requested data-tier application (DAC) action, such as deploy or upgrade.|
|InvalidDatabaseExtractException||The class is an exception that is raised when the database specified in an extract operation is invalid.|
|InvalidDatabaseStateForExtractException||Raised when the database state prevents an extraction operation.|
|InvalidInputException||The InvalidInputException class is raised when validation of input data fails in the DAC package.|
|MiscellaneousFilesCollection||The MiscellaneousFilesCollection class contains a collection of files to be added to the DAC package.|
|MissingDacSchemaException||The MissingDacSchemaException class is an exception that is raised during validation when the DAC schema is missing.|
|MissingExtractServerPermissionsException||The MissingExtractServerPermissionsException class represents an exception that is raised during extraction when the caller has insufficient permissions on the server to extract the database.|
|MissingServerPermissionsException||The MissingServerPermissionsException class represents an exception that is raised when the caller has insufficient permissions on the server to deploy the DAC.|
|MissingServerPermissionsForRePartException||The MissingServerPermissionsForRePartException class represents an exception that is raised when the caller does not have sufficient permissions|
|ServerDeploymentValidator||The ServerDeploymentValidator class validates that the specified database engine is able to be used as a DAC store.|
|SmoBuilder||The SmoBuilder class defines the GetSmoHierarchy method, which generates the SMO server hierarchy from binder metadata.|
|SourceInfo||The class represents a location in a DAC source file that has thrown an exception.|
|TSqlCompilationErrorCollection||The TSqlCompilationErrorCollection class represents a collection of TSqlCompilationError objects.|
|TSqlCompilationException||The TSqlCompilationException class represents an exception that is thrown during Transact-SQL compilation.|
|TSqlCompilationResult||The TSqlCompilationResult class defines methods and properties that contain information about the result of a Transact-SQL compilation.|
|TSqlSourceFile||The TSqlSourceFile class represents a Transact-SQL source file.|
|ValidatedObject||The ValidatedObject class describes objects that have been validated.|
|ValidatedObjectEventArgs||Represents an object that was validated as part of a data-tier application (DAC) action, such as deploy or delete.|
|IBinarySource||The IBinarySource type is an interface that provides access to an I/O file stream.|
|IExtraSource||The IExtraSource type is an interface that provides I/O stream access to a miscellaneous file in the DAC package.|
|ISizeItem||Defines an interface that allows the implementing class to calculate its size.|
|ActionName||The ActionName enumeration lists the names of each possible action step.|
|ActionState||The ActionState enumeration lists the possible DAC action step states.|
|DacExceptionType||The DacExceptionType enumeration contains values that are used to specify the type of DAC exception.|
|DacUninstallMode||The DacUninstallMode enumeration contains values that are used to specify what to do with the database associated with a DAC instance when the instance is uninstalled.|
|DatabaseState||Enumerates the possible states of the DAC database.|
|MessageLevel||This enum indicates the message level of the event args. Depending on the type of the event, the args will be annotated.|
|ObjectValidationResult||An enumeration that specifies the values for reporting the results of validating or extracting an object.|