gpt4 book ai didi

c# - 使用 Microsoft.SqlServer.Dac.DacServices 在单用户模式下发布 dacpac

转载 作者:太空狗 更新时间:2023-10-29 23:50:33 27 4
gpt4 key购买 nike

我想在单用户模式下发布 dac pac 以防止在数据库升级时不必要的数据库更改。为此,我在 Microsoft.SqlServer.Dac.DacServices 中使用了 Deploy 函数。

那个函数有一个参数DacDeployOptions选项。我在该选项中设置了 DeployDatabaseInSingleUserMode = true。即使它设置为 true,我也可以在部署 dacpac 时执行数据库操作。

有什么我想念的吗?或者有没有其他方法可以实现这一目标。

我们将不胜感激!

最佳答案

您使用的是哪个版本的 DacFX?如果不是最新的,最好获取最新的,因为很多旧的都不太擅长识别您指定的选项。

或者,您可以这样做(这就是我所做的,而不是试图让 DacFX 正常工作。

            ServerConnection connection = new ServerConnection(ServerName);
Server sqlServer = new Server(connection);
Database QADatabase = sqlServer.Databases[DatabaseName];
QADatabase.DatabaseOptions.UserAccess = DatabaseUserAccess.Single;
QADatabase.Alter(TerminationClause.RollbackTransactionsImmediately);
QADatabase.Refresh();

//DACPAC logic goes here

QADatabase.DatabaseOptions.UserAccess = DatabaseUserAccess.Multiple;
QADatabase.Alter(TerminationClause.RollbackTransactionsImmediately);
QADatabase.Refresh();

关于c# - 使用 Microsoft.SqlServer.Dac.DacServices 在单用户模式下发布 dacpac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31041788/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com