在 PowerShell 中,我使用Microsoft.SqlServer.Dac.DacServices和 Microsoft.SqlServer.Dac.DacDeployOptions 来部署/更新数据库 DACPAC。我遇到的问题是找到设置包所需的 SQLCMD 变量的位置。
缩略样本
# Create a DacServices object, which needs a connection string
$dacsvcs = New-Object Microsoft.SqlServer.Dac.DacServices "server=$sqlserver"
# Load dacpac from file
$dp = [Microsoft.SqlServer.Dac.DacPackage]::Load($dacpac)
# Deploy options
$deployOptions = New-Object Microsoft.SqlServer.Dac.DacDeployOptions
$deployOptions.IncludeCompositeObjects = $true
我知道我可以用 SqlPackage.exe 很好地输入这些,也许这就是我应该做的。但是,在文档或 web grok 中,我找不到使用 SQLCMD 变量作为选项的 DacServices 使用示例——SQLCMD 变量作为我项目 DACPAC 的必需参数。