我将 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 中通过右键单击项目、转到“项目设置”选项卡并单击“数据库设置”来执行此操作。应弹出此对话框:
如果您无权访问源代码,您可以解压缩 .dacpac 文件(它只是一个压缩文件夹),然后查看“model.xml”,其中应该包含以下内容:
该行(在 DataSchemaModel -> 模型下):
...如果恢复模式是完整的,则省略。对于批量记录,它设置为“2”。