Microsoft.SqlServer.Dac.Deployment Namespace

Classes

AlterElementStep

A step in a deployment plan that represent an alter to an element. This class is for read-only purpose and cannot be instantiated.

BeginPostDeploymentScriptStep

A step in the deployment plan that represents script deployment at the beginning the post-deployment. This class is for read-only purpose and cannot be instantiated.

BeginPreDeploymentScriptStep

A step in the deployment plan that represents script deployment at the beginning of pre-deployment. This class is for read-only purpose and cannot be instantiated.

BuildContributor

Derivatives of the BuildContributor extension are executed during a project build after the project's model has been constructed and verified.

BuildContributorContext

Provides the context for the build process that is used by BuildContributor objects during project build. See documentation for the Arguments and ExtensionFiles properties for information on how to specify these inside a project file.

BuildFailedException

A BuildFailedException should be thrown to indicate that the build cannot continue. This will stop the build process.

ContributorArgumentConfiguration

Instances of this class are created by Build and Deployment contributors during design-time to initialize arguments that are passed to them at runtime.

In SSDT, these arguments must be specified using a ContributorArguments property in a .sqlproj file or a referenced .targets file. For instance to add a "RunMyContributor" argument with a value of "true", the following would be added: <PropertyGroup> <ContributorArguments Condition="'$(Configuration)' == 'Debug''"> $(ContributorArguments);RunMyContributor=True; </ContributorArguments> <PropertyGroup>

In this case the argument is only added for Debug configuration. Using the above configuration it is possible to collect information from the MSBuild environment and pass it to the contributor.

It is also possible to specify these when creating a package by using BuildPackage(String, TSqlModel, PackageMetadata, PackageOptions) and specifying PackageOptions.

CreateElementStep

The step in a deployment plan that represents a create of an element. This class is for read-only purpose and cannot be instantiated.

DacBulkCopyStep

The DacBulkCopyStep uploads / streams data from the dac package to the target db. This class is for read-only purpose and cannot be instantiated.

DacDeleteFromTablesStep

The step in deployment plan that represents delete from table. This class is for read-only purpose and cannot be instantiated.

DacDisableForeignKeysStep

The step in deployment plan that represents disabling foreign keys. This class is for read-only purpose and cannot be instantiated.

DacDropSystemVersioningStep

The step in deployment plan that represents drop of a temporal system-versioning clause and system-time PERIOD. This class is for read-only purpose and cannot be instantiated.

DacDropTemporalSchemaBoundElementStep

The step in deployment plan that represents drop of an temporal table schema-bound objects This class is for read-only purpose and cannot be instantiated.

DacRestoreConstraintsStep

The step in deployment plan that represents restoring constraints. This class is for read-only purpose and cannot be instantiated.

DacRestoreSystemVersioningStep

The step in deployment plan that represents creation of a temporal system-versioning clause and system-time PERIOD on the appropriate temporal columns. This class is for read-only purpose and cannot be instantiated.

DacSaveConstraintsStep

The step in deployment plan that represents saving constraints. This class is for read-only purpose.

DeploymentContributor

The base class for deployment contributors. Subclasses of this class participate in a deployment by modifying a deployment plan or by executing the plan

DeploymentContributorConfigurationSetup

Represents the current setup for DeploymentContributor objects. The setup object can be used by deployment contributors during build operations to cause files to be copied as outputs that are stored in the generated dacpac, or to create new files that are stored in the dacpac. See the DeploymentContributorConfigurationStream API for more information about specifying inputs.

DeploymentContributorConfigurationStream

Represents a streamable version of a configuration file that is used by DacFx in the deployment and build processes. These streams enable deployment extensions to enhance and extend the design and deployment experience.

Input configuration files can be defined in a .sqlproj file as part of the MSBuild process. The files are treated as streams, and will be passed to contributors via the Microsoft.SqlServer.Dac.Deployment.DeploymentContributor.EstablishDeploymentConfiguration(Microsoft.SqlServer.Dac.Deployment.DeploymentContributorConfigurationSetup) method, where they can be copied as outputs that are stored in the generated dacpac.

These streams will then be made available in the Microsoft.SqlServer.Dac.Deployment.DeploymentContributor.ApplyDeploymentConfiguration(Microsoft.SqlServer.Dac.Deployment.DeploymentContributorContext,System.Collections.Generic.ICollection{Microsoft.SqlServer.Dac.Deployment.DeploymentContributorConfigurationStream}), where they can be consumed for configuration and data during deployment. At the end of the Microsoft.SqlServer.Dac.Deployment.DeploymentContributor.ApplyDeploymentConfiguration(Microsoft.SqlServer.Dac.Deployment.DeploymentContributorContext,System.Collections.Generic.ICollection{Microsoft.SqlServer.Dac.Deployment.DeploymentContributorConfigurationStream}) method all streams will be disposed. Contributors that need to obtain data from the streams must read and cache the data during this method - attempts to read from the stream during the OnExecute(DeploymentPlanContributorContext) method will fail.

Inside a .sqproj file, Deployment Configuration files are specified as follows: <ItemGroup> <DeploymentExtensionConfiguration Include="MyContributorName.MyFileName1.sql" /> <DeploymentExtensionConfiguration Include="MyContributorName.MyFileName2.sql" /> </ItemGroup>

Note that configuration streams are accessible to all contributors. Contributors may employ a file naming pattern to identify which input files related to that contributor.

DeploymentContributorContext

Provides a context for DeploymentContributor objects in DacFx

DeploymentContributorInformation

Information that identifies a deployment contributor

DeploymentFailedException

Represents an exception that occurs during deployment.

DeploymentPlan

Represents the plan that is generated for Deployment.

DeploymentPlanContributor

Represents a contributor to the deployment process

DeploymentPlanContributorContext

Provides a context for DeploymentPlanContributor objects.

DeploymentPlanExecutor

This class represents a deployment constributor that executes the deployment plan. An example of a constributor would be one who executes deployment steps to create a report about actions performed during a deployment

DeploymentPlanHandle
DeploymentPlanModifier

Represents a constributor that can modify a deployment plan

DeploymentScriptDomStep

Base class for script based deployment steps. Represents a deployment step that consists of an Abstract Syntax Tree (AST) and reference to a script Domain Object Model (DOM) generator. This class is for read-only purpose.

DeploymentScriptStep

The step in deployment plan that represents deploying scripts. This class can be instantiated and used by extensions.

DeploymentStep

Represents a step in a deployment plan.

DeploymentStepInternal

Base class for implementing deployment step types. It should not be used for writing extensions. Extensions must directly implement DeploymentStep

DropElementStep

A step in deployment step that represents dropping a sql object. This class is for read-only purpose and cannot be instantiated.

EmptyStep

Represents an empty step in deployment plan. This class is for read-only purpose and cannot be instantiated.

EndPostDeploymentScriptStep

A step in the deployment plan that represents script deployment at the end of post-deployment. This class is for read-only purpose and cannot be instantiated.

EndPreDeploymentScriptStep

A step in the deployment plan that represents script deployment at the end of pre-deployment. This class is for read-only purpose and cannot be instantiated.

ExportBuildContributorAttribute

Concrete classes implementing BuildContributor must add the ExportBuildContributorAttribute attribute to their class definition. This ensures they will be detected and available for use during build. BuildContributors require a unique ID which can be based on their fully qualified type name, or explicitly passed as a string

ExportDeploymentPlanExecutorAttribute

Concrete classes implementing DeploymentPlanExecutor must add the ExportDeploymentPlanExecutorAttribute attribute to their class definition. This ensures they will be detected and available for use during SQL Deployment. DeploymentPlanExecutors require a unique ID which can be based on their fully qualified type name, or explicitly passed as a string

ExportDeploymentPlanModifierAttribute

Concrete classes implementing DeploymentPlanModifier must add the ExportDeploymentPlanModifierAttribute attribute to their class definition. This ensures they will be detected and available for use during SQL Deployment. DeploymentPlanModifiers require a unique ID which can be based on their fully qualified type name, or explicitly passed as a string

ModelComparisonChangeDefinition

Contains change details for a TSqlObject. Including changed properties, added/dropped/ordinal changed relationship entries, added/dropped/changed/ordinal changed composing children and added/dropped/changed/ordinal changed hierarchical children.

ModelComparisonResult

SchemaModel compare result. Contains same elements list, elements needed to add to target list, elements needed to drop in target list, and changed elements list.

SqlAddSystemVersioningStep

The step in deployment plan that represents creation of a temporal system-versioning clause and system-time PERIOD on the appropriate temporal columns. This class is for read-only purpose and cannot be instantiated.

SqlBeginAltersStep

Instances of this class mark the portion of the deployment plan where ALTERs (and CREATEs) are performed. This class is for read-only purpose and cannot be instantiated.

SqlBeginDropsStep

An instance of this class marks the beginning of the "drops" portion of the deployment plan. Drops occur in the plan before Alters. This class is for read-only purpose and cannot be instantiated.

SqlBeginPreservationStep

This class marks the start (in a deployment plan) of the preservation of intent section of the plan. These operations are ones taken to affect refactoring changes. This class is for read-only purpose and cannot be instantiated.

SqlBeginTransactionStep

This step marks the beginning of the transactional section of a deployment plan. This class is for read-only purpose and cannot be instantiated.

SqlChangeDatabaseStep

The step in deployment step that represents change database. This class is for read-only purpose and cannot be instantiated.

SqlColumnEncryptionMigrationStep

Represents a data motion step for column encryption in a sql deployment plan. This class is for read-only purpose and cannot be instantiated.

SqlColumnEncryptionRenameToOriginalStep

Represents a rename back to original step for column encryption in a sql deployment plan. This class is for read-only purpose and cannot be instantiated.

SqlColumnEncryptionSPRefreshStep

Represents a step which will execute sp_refresh stored procedures

SqlCreateDatabaseStep

The step in deployment that represents database creation. This class is for read-only purpose and cannot be instantiated.

SqlCreateTrackingTableStep

The step in deployment that represents the creation of the tracking table (__ScriptTrackingLogs). This table is used to improve the reliability of deployment to SQL Azure. This class is for read-only purpose and cannot be instantiated.

SqlDeploymentOptions

Contains deployment options values used for deployment

SqlDisableDatabaseChangeTrackingStep

Represents a step which will disable change tracking on the database

SqlDropDatabaseStep

The step in deployment that represents database drop. This class is for read-only purpose and cannot be instantiated.

SqlDropSystemVersioningStep

The step in deployment plan that represents drop of a temporal system-versioning clause and system-time PERIOD. This class is for read-only purpose and cannot be instantiated.

SqlDropTrackingTableStep

The step in deployment that represents drop of the tracking table (__ScriptTrackingLogs). This class is for read-only purpose and cannot be instantiated.

SqlEnableDatabaseChangeTrackingStep

Represents a step which will enable change tracking on the database

SqlEndAltersStep

Instances of this class mark the portion of the deployment plan where ALTERs (and CREATEs) are completed. This class is for read-only purpose and cannot be instantiated.

SqlEndDropsStep

An instance of this class marks the end of the "drops" portion of the deployment plan. This class is for read-only purpose and cannot be instantiated.

SqlEndPreservationStep

This class marks the end (in a deployment plan) of the preservation of intent section of the plan. These operations are ones taken to affect refactoring changes. This class is for read-only purpose and cannot be instantiated.

SqlEndTransactionStep

This step marks the end of the transactional section of a deployment script. This class is for read-only purpose and cannot be instantiated.

SqlFinalizeDatabaseAccessStep

This step is represents a step in the SQL deployment plan that finalizes the access settings to the database. These settings include Read-Only or Read-Write access, restricted, single user or multi-user, and online versus offline. This class is for read-only purpose and cannot be instantiated.

SqlMoveSchemaStep

In the deployment plan, instances of this step represent moving the element from a previous schema to the new one. This class is for read-only purpose and cannot be instantiated.

SqlPrintStep

A type of step in a Sql deployment plan that signifies a SQL "print" statement. This class is for read-only purpose and cannot be instantiated.

SqlRenameStep

Represents a step in the deployment plan that renames a element. This class is for read-only purpose and cannot be instantiated.

SqlTableMigrationStep

Represents a data motion step in a sql deployment plan. This class is for read-only purpose and cannot be instantiated.