Sql-Server

SQLPackage 重置數據庫恢復模式

  • February 4, 2020

我將 SQLPackage.exe 與數據庫發布配置文件一起使用,以將數據庫更改部署到 DEV 和 QC 實例。我有處於簡單恢復模式的數據庫。但是當我使用 SQLPackage 部署更改時,它會將它們恢復為完全恢復模式。

這就是我正在使用的,

“C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe” /Action:Publish /SourceFile:“FILE PATH TO .DACPAC” /Profile:“PUBLISH PROFILE.XML”

如果我使用 Visual Studio 使用相同的發布項目部署項目更改,也會發生同樣的情況。

我在這裡想念什麼?據我所知,Profile 中沒有這樣的標誌。這是 SQLPackage 的預期行為嗎?

你是對的,據我所知,sqlpackage 發布選項中沒有任何內容會改變恢復模式。該屬性在 dacpac 中設置。如果您有權訪問 dacpac 的原始碼 - SQL Server Data Tools (SSDT, .sqlproj) 項目 - 請確保將“恢復模型”設置配置為“簡單”而不是“完整”。

您可以在 Visual Studio 中通過右鍵點擊項目、轉到“項目設置”選項卡並點擊“數據庫設置”來執行此操作。應彈出此對話框:

Visual Studio 中數據庫設置對話框的螢幕截圖,突出顯示“恢復”下拉選項

如果您無權訪問原始碼,您可以解壓縮 .dacpac 文件(它只是一個壓縮文件夾),然後查看“model.xml”,其中應該包含以下內容:

xml“模型”節點的螢幕截圖,顯示“RecoveryMode”屬性設置為 1

該行(在 DataSchemaModel -> 模型下):

<Property Name="RecoveryMode" Value="1" />

…如果恢復模式是完整的,則省略。對於批量記錄,它設置為“2”。

引用自:https://dba.stackexchange.com/questions/258375