6

我想断开所有用户与 SQL Server 的连接,除了sa.

对此的需求是:

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

我找到了这个:

use master
alter database MyDatabase set offline with rollback immediate

但是怎么说“一个特定的用户是一个例外”?

4

1 回答 1

8

使用single_user代替offline

alter database [DatabaseName] set single_user with rollback immediate

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

alter login [LoginName] disable
于 2012-10-25T07:52:51.967 回答