Microsoft.SqlServer.Dac.Deployment 命名空间

名称 说明
AlterElementStep

部署计划中表示对元素的更改的步骤。 此类用于只读目的,不能实例化。

BeginPostDeploymentScriptStep

部署计划中的一个步骤,表示部署后开始的脚本部署。 此类用于只读目的,不能实例化。

BeginPreDeploymentScriptStep

部署计划中表示预部署开始时的脚本部署的步骤。 此类用于只读目的,不能实例化。

BuildContributor

生成项目模型后,生成项目模型并验证后,将执行 BuildContributor 扩展的派生。

BuildContributorContext

提供项目生成期间对象使用的 BuildContributor 生成过程的上下文。 有关如何在项目文件中指定这些属性的信息,请参阅文档 ArgumentsExtensionFiles 属性。

BuildFailedException

应引发 BuildFailedException 以指示生成无法继续。 这会停止生成过程。

ContributorArgumentConfiguration

此类的实例由生成和部署参与者在设计时创建,以初始化在运行时传递给它们的参数。

在 SSDT 中,必须使用 .sqlproj 文件或引用的 .targets 文件中的 ContributorArguments 属性指定这些参数。 例如,若要添加值为“true”的“RunMyContributor”参数,将添加以下内容: <PropertyGroup><ContributorArguments Condition=“'$(Configuration)' == 'Debug''”> $(ContributorArguments):RunMyContributor=True; </ContributorArguments><PropertyGroup>

在这种情况下,只会为调试配置添加参数。 使用上述配置,可以从 MSBuild 环境中收集信息并将其传递给参与者。

也可以在使用 BuildPackage(String, TSqlModel, PackageMetadata, PackageOptions) 和指定 PackageOptions创建包时指定这些值。

CreateElementStep

部署计划中表示元素创建的步骤。 此类用于只读目的,不能实例化。

DacBulkCopyStep

DacBulkCopyStep 将数据从 dac 包上传到目标数据库/ 流式传输。 此类用于只读目的,不能实例化。

DacDeleteFromTablesStep

部署计划中表示从表中删除的步骤。 此类用于只读目的,不能实例化。

DacDisableForeignKeysStep

部署计划中表示禁用外键的步骤。 此类用于只读目的,不能实例化。

DacDropSystemVersioningStep

部署计划中的步骤,表示临时系统版本控制子句和系统时间段的删除。 此类用于只读目的,不能实例化。

DacDropTemporalSchemaBoundElementStep

表示临时表架构绑定对象的删除的部署计划中的步骤,此类用于只读目的,不能实例化。

DacRestoreConstraintsStep

部署计划中表示还原约束的步骤。 此类用于只读目的,不能实例化。

DacRestoreSystemVersioningStep

部署计划中的步骤,表示在适当的临时列上创建临时系统版本控制子句和系统时间段。 此类用于只读目的,不能实例化。

DacSaveConstraintsStep

部署计划中表示保存约束的步骤。 此类用于只读目的。

DeploymentContributor

部署参与者的基类。 此类的子类通过修改部署计划或执行计划参与部署

DeploymentContributorConfigurationSetup

表示对象的当前设置 DeploymentContributor 。 安装对象可由部署参与者在生成操作期间使用,以便将文件复制为存储在生成的 dacpac 中的输出,或创建存储在 dacpac 中的新文件。 DeploymentContributorConfigurationStream有关指定输入的详细信息,请参阅 API。

DeploymentContributorConfigurationStream

表示 DacFx 在部署和生成过程中使用的配置文件的可流版本。 这些流使部署扩展能够增强和扩展设计和部署体验。

输入配置文件可以在 .sqlproj 文件中定义为 MSBuild 过程的一部分。 这些文件被视为流,并且将通过该方法传递给参与者 Microsoft.SqlServer.Dac.Deployment.DeploymentContributor.EstablishDeploymentConfiguration(Microsoft.SqlServer.Dac.Deployment.DeploymentContributorConfigurationSetup) ,可以在该方法中将其复制为存储在生成的 dacpac 中的输出。

然后 Microsoft.SqlServer.Dac.Deployment.DeploymentContributor.ApplyDeploymentConfiguration(Microsoft.SqlServer.Dac.Deployment.DeploymentContributorContext,System.Collections.Generic.ICollection{Microsoft.SqlServer.Dac.Deployment.DeploymentContributorConfigurationStream}),可以在部署期间使用这些流进行配置和数据。 在方法结束时 Microsoft.SqlServer.Dac.Deployment.DeploymentContributor.ApplyDeploymentConfiguration(Microsoft.SqlServer.Dac.Deployment.DeploymentContributorContext,System.Collections.Generic.ICollection{Microsoft.SqlServer.Dac.Deployment.DeploymentContributorConfigurationStream}) ,将释放所有流。 需要从流获取数据的参与者必须在此方法期间读取和缓存数据 - 尝试在方法期间 OnExecute(DeploymentPlanContributorContext) 从流中读取数据将失败。

在 .sqproj 文件中,部署配置文件指定如下: <ItemGroup><DeploymentExtensionConfiguration Include=“MyContributorName.MyFileName1.sql” /><DeploymentExtensionConfiguration Include=“MyContributorName.MyFileName2.sql” /></ItemGroup>

请注意,所有参与者都可以访问配置流。 参与者可以使用文件命名模式来确定与该参与者相关的输入文件。

DeploymentContributorContext

为 DacFx 中的对象提供上下文DeploymentContributor

DeploymentContributorInformation

标识部署参与者的信息

DeploymentFailedException

表示部署期间发生的异常。

DeploymentPlan

表示为部署生成的计划。

DeploymentPlanContributor

表示部署过程的参与者

DeploymentPlanContributorContext

为对象提供上下文 DeploymentPlanContributor

DeploymentPlanExecutor

此类表示执行部署计划的部署 constributor。 一个 constributor 示例是执行部署步骤以创建有关部署过程中执行的操作的报告

DeploymentPlanHandle
DeploymentPlanModifier

表示可以修改部署计划的 constributor

DeploymentScriptDomStep

基于脚本的部署步骤的基类。 表示一个部署步骤,该步骤由抽象语法树(AST)和对脚本域对象模型(DOM)生成器的引用组成。 此类用于只读目的。

DeploymentScriptStep

部署计划中表示部署脚本的步骤。 此类可由扩展实例化和使用。

DeploymentStep

表示部署计划中的步骤。

DeploymentStepInternal

用于实现部署步骤类型的基类。 它不应用于编写扩展。 扩展必须直接实现 DeploymentStep

DropElementStep

部署步骤中的一个步骤,表示删除 sql 对象。 此类用于只读目的,不能实例化。

EmptyStep

表示部署计划中的空步骤。 此类用于只读目的,不能实例化。

EndPostDeploymentScriptStep

部署计划中的一个步骤,表示部署后结束时的脚本部署。 此类用于只读目的,不能实例化。

EndPreDeploymentScriptStep

部署计划中表示预部署结束时的脚本部署的步骤。 此类用于只读目的,不能实例化。

ExportBuildContributorAttribute

实现 BuildContributor 的具体类必须将属性添加到 ExportBuildContributorAttribute 其类定义中。 这可确保在生成期间检测到它们并可供使用。 BuildContributors 需要唯一 ID,该 ID 可以基于其完全限定的类型名称,或显式作为字符串传递

ExportDeploymentPlanExecutorAttribute

实现 DeploymentPlanExecutor 的具体类必须将属性添加到 ExportDeploymentPlanExecutorAttribute 其类定义中。 这可确保在 SQL 部署期间检测到它们并可供使用。 DeploymentPlanExecutors 需要唯一 ID,该 ID 可以基于其完全限定的类型名称,或显式作为字符串传递

ExportDeploymentPlanModifierAttribute

实现 DeploymentPlanModifier 的具体类必须将属性添加到 ExportDeploymentPlanModifierAttribute 其类定义中。 这可确保在 SQL 部署期间检测到它们并可供使用。 DeploymentPlanModifiers 需要唯一 ID,该 ID 可以基于其完全限定的类型名称,或显式作为字符串传递

ModelComparisonChangeDefinition

包含 TSqlObject 的更改详细信息。 包括更改的属性、添加/删除/序号更改的关系条目、添加/删除/更改/更改/序号更改的子级和添加/删除/更改/序号更改的分层子级。

ModelComparisonResult

SchemaModel 比较结果。 包含相同的元素列表、添加到目标列表所需的元素、在目标列表中删除所需的元素以及更改的元素列表。

SqlAddSystemVersioningStep

部署计划中的步骤,表示在适当的临时列上创建临时系统版本控制子句和系统时间段。 此类用于只读目的,不能实例化。

SqlBeginAltersStep

此类的实例标记执行 ALTER(和 CREATE)的部署计划的一部分。 此类用于只读目的,不能实例化。

SqlBeginDropsStep

此类的实例标记部署计划的“删除”部分的开头。 在 Alters 之前,计划中会出现下降。 此类用于只读目的,不能实例化。

SqlBeginPreservationStep

此类标记计划保留计划的意向部分的开头(在部署计划中)。 这些操作是影响重构更改而采取的操作。 此类用于只读目的,不能实例化。

SqlBeginTransactionStep

此步骤标记部署计划的事务部分的开头。 此类用于只读目的,不能实例化。

SqlChangeDatabaseStep

表示更改数据库的部署步骤。 此类用于只读目的,不能实例化。

SqlColumnEncryptionMigrationStep

表示 SQL 部署计划中列加密的数据运动步骤。 此类用于只读目的,不能实例化。

SqlColumnEncryptionRenameToOriginalStep

表示重新重命名为 sql 部署计划中列加密的原始步骤。 此类用于只读目的,不能实例化。

SqlColumnEncryptionSPRefreshStep

表示将执行sp_refresh存储过程的步骤

SqlCreateDatabaseStep

部署中表示数据库创建的步骤。 此类用于只读目的,不能实例化。

SqlCreateTableAsSelectStep

表示 sql 部署计划中 CTAS 步骤。 此类用于只读目的,不能实例化。

SqlCreateTrackingTableStep

部署中表示创建跟踪表的步骤(__ScriptTrackingLogs)。 此表用于提高部署到 SQL Azure的可靠性。 此类用于只读目的,不能实例化。

SqlDeploymentOptions

包含用于部署的部署选项值

SqlDisableDatabaseChangeTrackingStep

表示将禁用对数据库的更改跟踪的步骤

SqlDropDatabaseStep

表示数据库删除的部署中的步骤。 此类用于只读目的,不能实例化。

SqlDropSystemVersioningStep

部署计划中的步骤,表示临时系统版本控制子句和系统时间段的删除。 此类用于只读目的,不能实例化。

SqlDropTrackingTableStep

部署中表示跟踪表删除的步骤(__ScriptTrackingLogs)。 此类用于只读目的,不能实例化。

SqlEnableDatabaseChangeTrackingStep

表示将在数据库上启用更改跟踪的步骤

SqlEndAltersStep

此类的实例标记完成 ALTER(和 CREATE)的部署计划部分。 此类用于只读目的,不能实例化。

SqlEndDropsStep

此类的实例标记部署计划的“删除”部分的末尾。 此类用于只读目的,不能实例化。

SqlEndPreservationStep

此类将结束(部署计划中)保留计划的意向部分。 这些操作是影响重构更改而采取的操作。 此类用于只读目的,不能实例化。

SqlEndTransactionStep

此步骤标记部署脚本的事务部分的末尾。 此类用于只读目的,不能实例化。

SqlFinalizeDatabaseAccessStep

此步骤表示 SQL 部署计划中完成对数据库的访问设置的步骤。 这些设置包括 Read-Only 或 Read-Write 访问、受限、单用户或多用户以及联机与脱机。 此类用于只读目的,不能实例化。

SqlMoveSchemaStep

在部署计划中,此步骤的实例表示将元素从以前的架构移动到新架构。 此类用于只读目的,不能实例化。

SqlPrintStep

Sql 部署计划中表示 SQL“print”语句的步骤类型。 此类用于只读目的,不能实例化。

SqlRenameStep

表示部署计划中重命名元素的步骤。 此类用于只读目的,不能实例化。

SqlTableMigrationStep

表示 sql 部署计划中的数据运动步骤。 此类用于只读目的,不能实例化。