我想断开除sa
之外的所有SQL Server用户。
对此的需求是:
我为我的ERP编写了一个db维护实用程序。在运行它之前,我需要让所有用户注销。 所以不知怎的,我想给他们一个消息(通过ERP)“在5分钟内断开连接,请保存你的工作和注销,否则你将被踢出去”然后在5分钟后在服务器上运行断开所有人的命令。 我希望“sa”或无论如何“1特定用户”不被断开,因为db maintenance utilty将使用该用户进行数据库连接。
我发现了这个:
use master
alter database MyDatabase set offline with rollback immediate
但如何说“一个特定用户是例外”?
答案 0 :(得分:6)
使用single_user
代替offline
:
alter database [DatabaseName] set single_user with rollback immediate
初始“单个用户”将是发出alter database
命令的用户。然后,您可以继续只允许特定用户登录:
alter login [LoginName] disable