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

问题描述 投票:0回答:1

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

sa

这样做的必要性是:

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

我发现了这个:

use master
alter database MyDatabase set offline with rollback immediate

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

sql-server database sql-server-2008 maintenance-mode
1个回答
11
投票

使用

single_user
代替
offline

ALTER database [DatabaseName] SET single_user WITH rollback immediate;

第一个“单用户”将是发出

alter database
命令的用户。 然后,您可以继续只允许特定用户登录:

ALTER login [LoginName] disable;

另外,如果您想回滚“单用户”设置,只需将其返回到

MULTI_USER

ALTER database [DatabaseName] SET MULTI_USER;
© www.soinside.com 2019 - 2024. All rights reserved.