DacDeployOptions DeployeDatabaseInSingleUserMode 似乎没有效果
DacDeployOptions DeployeDatabaseInSingleUserMode seems to have no effect
我正在尝试使用 DacFx 进行部署,并且需要将数据库置于单用户模式,以便没有人(但 dac 更新上下文)可以更新数据库。
_deployOptions = new DacDeployOptions
{
BlockOnPossibleDataLoss = false,
IncludeCompositeObjects = true,
IncludeTransactionalScripts = true,
DropConstraintsNotInSource = deployConfig.DropConstraintsNotInSource,
DropIndexesNotInSource = deployConfig.DropIndexesNotInSource,
DropDmlTriggersNotInSource = false,
DeployDatabaseInSingleUserMode = true
};
DacServices.Deploy(dacpac, _dbName, true, _deployOptions);
部署过程(我已经确认)不会将数据库置于单用户模式;但是,如果我使用
var script = DacServices.GenerateDeployScript(dacpac, _dbName, _deployOptions);
生成的脚本确实在开头设置了单用户,在结尾设置了多用户。是否有任何原因导致执行 Deploy 没有像预期的那样正确使用 DeployDatabaseInSingleUserMode 设置?在一天结束时,我只需要确保在此更新期间不会发生数据库更新 - 如果有其他方式(除了单用户),那么我愿意接受建议。
我也试过 generating\executing 脚本,但我担心脚本可能会变得太大(而且脚本中使用的 $(DatabaseName) 存在问题,这意味着我必须在实际执行之前对其进行按摩)。
关系问题:
Publish dacpac in single user mode using Microsoft.SqlServer.Dac.DacServices
非常感谢。
这很简单 - 我的 SSDT(SQL 服务器数据工具)需要更新。更新到最新版本 (11.1.50717.0) 后,设置开始工作。
我正在尝试使用 DacFx 进行部署,并且需要将数据库置于单用户模式,以便没有人(但 dac 更新上下文)可以更新数据库。
_deployOptions = new DacDeployOptions
{
BlockOnPossibleDataLoss = false,
IncludeCompositeObjects = true,
IncludeTransactionalScripts = true,
DropConstraintsNotInSource = deployConfig.DropConstraintsNotInSource,
DropIndexesNotInSource = deployConfig.DropIndexesNotInSource,
DropDmlTriggersNotInSource = false,
DeployDatabaseInSingleUserMode = true
};
DacServices.Deploy(dacpac, _dbName, true, _deployOptions);
部署过程(我已经确认)不会将数据库置于单用户模式;但是,如果我使用
var script = DacServices.GenerateDeployScript(dacpac, _dbName, _deployOptions);
生成的脚本确实在开头设置了单用户,在结尾设置了多用户。是否有任何原因导致执行 Deploy 没有像预期的那样正确使用 DeployDatabaseInSingleUserMode 设置?在一天结束时,我只需要确保在此更新期间不会发生数据库更新 - 如果有其他方式(除了单用户),那么我愿意接受建议。
我也试过 generating\executing 脚本,但我担心脚本可能会变得太大(而且脚本中使用的 $(DatabaseName) 存在问题,这意味着我必须在实际执行之前对其进行按摩)。
关系问题: Publish dacpac in single user mode using Microsoft.SqlServer.Dac.DacServices
非常感谢。
这很简单 - 我的 SSDT(SQL 服务器数据工具)需要更新。更新到最新版本 (11.1.50717.0) 后,设置开始工作。