7

在更改数据库架构之前,我发出:

ALTER DATABASE SET RESTRICTED_USER

在结束的时候:

ALTER DATABASE SET MULTI_USER

我了解正在运行的事务将被允许继续直到完成。

问:有什么方法可以等到所有普通用户都离开数据库?

Q:普通用户可以发更多的交易吗?他们可以继续工作直到与服务器断开连接吗?

4

1 回答 1

3

来自 SQL Server 联机丛书

http://msdn.microsoft.com/en-us/library/aa933082(SQL.80).aspx

如果终止子句被省略,ALTER DATABASE 语句会无限期地等待,直到事务自行提交或回滚。

所以 SET RESTRICTED_USER 会等到所有事务都完成后才会生效。

一旦到位,普通用户就不能发出进一步的事务,只有 db_owner 固定数据库角色和 dbcreator 和 sysadmin 固定服务器角色的成员可以连接到数据库。

于 2009-05-22T08:53:18.557 回答