在事务中设置单用户模式?
Set Single User Mode inside Transaction?
我们一直在使用 Octopus Deploy 通过 Powershell 和 SQL 服务器管理对象更新数据库。在应用更改之前,我们将数据库切换到单用户模式。应用更改后,我们将数据库切换回多用户模式。
在某些情况下,我们发现应用更改步骤失败并且部署过程结束,使数据库处于单用户模式,然后需要手动干预将数据库设置回多用户模式。
是否可以在 SQL 服务器事务中将数据库设置包装到单用户模式、应用更改以及将数据库重置回多用户模式?还是事务仅涵盖 DML 更改?
您不能在事务中以单用户模式设置数据库,您将收到以下错误:"ALTER DATABASE statement not allowed within multi-statement transaction"
我们一直在使用 Octopus Deploy 通过 Powershell 和 SQL 服务器管理对象更新数据库。在应用更改之前,我们将数据库切换到单用户模式。应用更改后,我们将数据库切换回多用户模式。
在某些情况下,我们发现应用更改步骤失败并且部署过程结束,使数据库处于单用户模式,然后需要手动干预将数据库设置回多用户模式。
是否可以在 SQL 服务器事务中将数据库设置包装到单用户模式、应用更改以及将数据库重置回多用户模式?还是事务仅涵盖 DML 更改?
您不能在事务中以单用户模式设置数据库,您将收到以下错误:"ALTER DATABASE statement not allowed within multi-statement transaction"