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

标签 sql-server database sql-server-2008 maintenance-mode

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

这样做的必要性是:

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

我发现了这个:

use master
alter database MyDatabase set offline with rollback immediate

但是如何说“一个特定用户是异常(exception)”?

最佳答案

使用single_user而不是离线:

alter database [DatabaseName] set single_user with rollback immediate

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

alter login [LoginName] disable

关于sql-server - 如何断开sql server中除sa之外的所有用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13063887/

相关文章:

sql-server - SQL Server try catch inside a while loop statement..异常后循环会正常继续吗?

sql-server - 为什么我会遇到 SQL Server ActiveRecord 适配器的段错误?

database - 为应用程序生成数据

java - 如何从STS(spring工具套件)连接到数据库(oracle)

vb.net - 在SQL Server 2008 R2数据库中存储图像

sql - 如何对 SQL Server 中的动态列求和?

sql - sql server上的索引重建

mysql - AWS : how to host ASP. NET MVC + MySQL

sql - 查找没有 "duplicates"的记录

带有 sqlsrv_num_rows 的 PHP