除了sa之外,如何断开sql server中的所有用户?

时间:2012-10-25 07:44:36

标签: sql-server sql-server-2008 maintenance

我想断开除sa之外的所有SQL Server用户。

对此的需求是:

我为我的ERP编写了一个db维护实用程序。在运行它之前,我需要让所有用户注销。 所以不知怎的,我想给他们一个消息(通过ERP)“在5分钟内断开连接,请保存你的工作和注销,否则你将被踢出去”然后在5分钟后在服务器上运行断开所有人的命令。 我希望“sa”或无论如何“1特定用户”不被断开,因为db maintenance utilty将使用该用户进行数据库连接。

我发现了这个:

use master
alter database MyDatabase set offline with rollback immediate

但如何说“一个特定用户是例外”?

1 个答案:

答案 0 :(得分:6)

使用single_user代替offline

alter database [DatabaseName] set single_user with rollback immediate

初始“单个用户”将是发出alter database命令的用户。然后,您可以继续只允许特定用户登录:

alter login [LoginName] disable