Microsoft.SqlServer.Dac.Deployment 命名空間

類別

名稱 Description
AlterElementStep

部署計畫中的一個步驟,代表元素的一個變更。 此類別僅用於唯讀,無法實例化。

BeginPostDeploymentScriptStep

部署計畫中的一個步驟,代表腳本部署,在部署後開始時進行。 此類別僅用於唯讀,無法實例化。

BeginPreDeploymentScriptStep

部署計畫中的一個步驟,代表在預部署開始時的腳本部署。 此類別僅用於唯讀,無法實例化。

BuildContributor

BuildContributor 擴充套件的衍生工具會在專案建置過程中執行,前提是專案模型建構並驗證完成。

BuildContributorContext

提供物件在專案建置過程中所使用的 BuildContributor 建置流程上下文。 請參閱 和 Arguments 屬性的文件ExtensionFiles,了解如何在專案檔案中指定這些參數。

BuildFailedException

應拋出 BuildFailedException 以表示建置無法繼續。 這樣就能停止建置過程。

ContributorArgumentConfiguration

此類別的實例由建置與部署貢獻者在設計時建立,用以初始化執行時傳遞給他們的參數。

在 SSDT 中,這些參數必須在 .sqlproj 檔案或參考的 .targets 檔案中,使用 ContributorArguments 屬性來指定。 例如,若要新增值為「true」的「RunMyContributor」參數,會加入以下參數: <PropertyGroup><ContributorArguments 條件=“'$(Configuration)' == 'Debug''”> $(ContributorArguments);RunMyContributor=True; </貢獻者論點><PropertyGroup>

此時參數僅用於除錯設定。 利用上述配置,可以從 MSBuild 環境中收集資訊並傳遞給貢獻者。

在建立套件時,也可以透過使用 BuildPackage(String, TSqlModel, PackageMetadata, PackageOptions) 並指定 PackageOptions來指定這些參數。

CreateElementStep

部署計畫中代表元素創建的步驟。 此類別僅用於唯讀,無法實例化。

DacBulkCopyStep

DacBulkCopyStep 會將資料從 DAC 套件上傳/串流到目標資料庫。 此類別僅用於唯讀,無法實例化。

DacDeleteFromTablesStep

部署計畫中代表從資料表刪除的步驟。 此類別僅用於唯讀,無法實例化。

DacDisableForeignKeysStep

部署步驟計畫代表停用外鍵。 此類別僅用於唯讀,無法實例化。

DacDropSystemVersioningStep

部署計畫中的步驟代表時序系統版本控制子句的刪除,以及系統時間的句點。 此類別僅用於唯讀,無法實例化。

DacDropTemporalSchemaBoundElementStep

部署計畫中代表時序表中結構綁定物件的移除步驟,此類別僅用於唯讀用途,無法實例化。

DacRestoreConstraintsStep

部署計畫中的步驟代表恢復限制。 此類別僅用於唯讀,無法實例化。

DacRestoreSystemVersioningStep

部署計畫中的步驟代表在適當時序欄位建立時序系統版本化子句及系統時間期間。 此類別僅用於唯讀,無法實例化。

DacSaveConstraintsStep

部署計畫中的步驟代表節省限制。 此類別僅供唯讀用途。

DeploymentContributor

部署貢獻者的基礎類別。 此類別的子類別透過修改部署計畫或執行該計畫來參與部署

DeploymentContributorConfigurationSetup

代表目前物件 DeploymentContributor 的設定。 部署貢獻者可在建置操作中使用設定物件,讓檔案被複製為輸出,儲存在產生的 dacpac 中,或建立新的檔案並儲存在 dacpac 中。 請參閱 API 以 DeploymentContributorConfigurationStream 了解如何指定輸入。

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

此類別代表執行部署計畫的部署貢獻者。 貢獻者的例子是執行部署步驟以建立部署期間執行動作報告的貢獻者

DeploymentPlanHandle
DeploymentPlanModifier

代表一個可以修改部署計畫的貢獻者

DeploymentScriptDomStep

用於腳本部署步驟的基底類別。 代表一個部署步驟,包含抽象語法樹(AST)及腳本領域物件模型(DOM)產生器的參考。 此類別僅供唯讀用途。

DeploymentScriptStep

部署計畫中的步驟代表部署腳本。 此類別可實例化並由擴充套件使用。

DeploymentStep

代表部署計畫中的一個步驟。

DeploymentStepInternal

用於實作部署步驟類型的基底類別。 它不應該用於撰寫擴充功能。 擴充必須直接實作 DeploymentStep

DropElementStep

部署步驟中的一個步驟,代表丟棄一個 SQL 物件。 此類別僅用於唯讀,無法實例化。

EmptyStep

代表部署計畫中的一個空白步驟。 此類別僅用於唯讀,無法實例化。

EndPostDeploymentScriptStep

部署計畫中的一個步驟,代表部署後的腳本部署。 此類別僅用於唯讀,無法實例化。

EndPreDeploymentScriptStep

部署計畫中的一個步驟,代表預部署結束時的腳本部署。 此類別僅用於唯讀,無法實例化。

ExportBuildContributorAttribute

實作 BuildContributor 的具體類別必須將該 ExportBuildContributorAttribute 屬性加入其類別定義中。 這確保它們在建造過程中能被偵測並隨時可用。 BuildContributors 需要一個唯一 ID,可以基於其完全限定的型別名稱,或以字串形式明確傳遞

ExportDeploymentPlanExecutorAttribute

實作 DeploymentPlanExecutor 的具體類別必須將該 ExportDeploymentPlanExecutorAttribute 屬性加入其類別定義中。 這確保它們能被偵測並用於 SQL 部署。 DeploymentPlanExecutors 需要一個唯一 ID,可以基於其完全限定的型別名稱,或以字串形式明確傳遞

ExportDeploymentPlanModifierAttribute

實作 DeploymentPlanModifier 的具體類別必須將該 ExportDeploymentPlanModifierAttribute 屬性加入其類別定義中。 這確保它們能被偵測並用於 SQL 部署。 DeploymentPlanModifiers 需要一個唯一 ID,可以基於其完全限定的型別名稱,或以字串形式明確傳遞

ModelComparisonChangeDefinition

包含 TSqlObject 的變更細節。 包括變更的屬性、新增/刪除/序數改變關係條目、新增/刪除/改變/序數改變的組合子節點,以及新增/刪除/改變/序數改變階層子節點。

ModelComparisonResult

SchemaModel 比較結果。 包含相同的元素清單、需要加入目標清單的元素、需要丟入目標清單的元素,以及變更過的元素清單。

SqlAddSystemVersioningStep

部署計畫中的步驟代表在適當時序欄位建立時序系統版本化子句及系統時間期間。 此類別僅用於唯讀,無法實例化。

SqlBeginAltersStep

此類別的實例標示部署計畫中執行 ALTERs(及 CREATE)的部分。 此類別僅用於唯讀,無法實例化。

SqlBeginDropsStep

此類別的實例標誌著部署計畫中「投放」階段的開始。 掉落會在變體之前的計畫中發生。 此類別僅用於唯讀,無法實例化。

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

此類實例標示部署計畫中完成 ALTERs(及 CREATE)的部分。 此類別僅用於唯讀,無法實例化。

SqlEndDropsStep

此類的實例標誌著部署計畫中「掉落」部分的結束。 此類別僅用於唯讀,無法實例化。

SqlEndPreservationStep

此類別標誌著(部署計畫中)意圖保存部分的結束。 這些操作是為了影響重構變更而進行的。 此類別僅用於唯讀,無法實例化。

SqlEndTransactionStep

此步驟標誌著部署腳本中交易區段的結束。 此類別僅用於唯讀,無法實例化。

SqlFinalizeDatabaseAccessStep

此步驟代表 SQL 部署計畫中的一個步驟,最終確定資料庫存取設定。 這些設定包括 Read-Only 或 Read-Write 存取、受限、單人或多人,以及線上與離線。 此類別僅用於唯讀,無法實例化。

SqlMoveSchemaStep

在部署計畫中,此步驟的實例代表將元素從先前的架構移動到新的架構。 此類別僅用於唯讀,無法實例化。

SqlPrintStep

這是 SQL 部署計畫中一種步驟,代表 SQL 的「print」陳述式。 此類別僅用於唯讀,無法實例化。

SqlRenameStep

代表部署計畫中的一個步驟,將元素重新命名。 此類別僅用於唯讀,無法實例化。

SqlTableMigrationStep

代表 SQL 部署計畫中的一個資料動作步驟。 此類別僅用於唯讀,無法實例化。