在更改数据库架构之前,我发出:
ALTER DATABASE SET RESTRICTED_USER
在结束的时候:
ALTER DATABASE SET MULTI_USER
我了解正在运行的事务将被允许继续直到完成。
问:有什么方法可以等到所有普通用户都离开数据库?
Q:普通用户可以发更多的交易吗?他们可以继续工作直到与服务器断开连接吗?
在更改数据库架构之前,我发出:
ALTER DATABASE SET RESTRICTED_USER
在结束的时候:
ALTER DATABASE SET MULTI_USER
我了解正在运行的事务将被允许继续直到完成。
问:有什么方法可以等到所有普通用户都离开数据库?
Q:普通用户可以发更多的交易吗?他们可以继续工作直到与服务器断开连接吗?
来自 SQL Server 联机丛书
http://msdn.microsoft.com/en-us/library/aa933082(SQL.80).aspx
如果终止子句被省略,ALTER DATABASE 语句会无限期地等待,直到事务自行提交或回滚。
所以 SET RESTRICTED_USER 会等到所有事务都完成后才会生效。
一旦到位,普通用户就不能发出进一步的事务,只有 db_owner 固定数据库角色和 dbcreator 和 sysadmin 固定服务器角色的成员可以连接到数据库。