如何断开除sa之外的sql server中的所有用户?
Posted
技术标签:
【中文标题】如何断开除sa之外的sql server中的所有用户?【英文标题】:How to disconnect all users in sql server except sa? 【发布时间】:2012-10-25 07:44:36 【问题描述】:我想断开所有用户与 SQL Server 的连接,sa
除外。
对此的需求是:
我为我的 ERP 编写了一个数据库维护实用程序。在运行它之前,我需要要求所有用户注销。 因此,我想以某种方式给他们一条消息(通过 ERP)“5 分钟后断开连接,请保存您的工作并注销,否则您将被踢出”,然后在 5 分钟后在服务器上运行命令断开所有人的连接。 我希望不要断开“sa”或无论如何“1 个特定用户”,因为数据库维护实用程序将使用该用户进行数据库连接。
我发现了这个:
use master
alter database MyDatabase set offline with rollback immediate
但是如何说“一个特定的用户是一个例外”?
【问题讨论】:
【参考方案1】:使用single_user
代替offline
:
alter database [DatabaseName] set single_user with rollback immediate
最初的“单一用户”将发出alter database
命令。然后您可以继续只允许特定用户登录:
alter login [LoginName] disable
【讨论】:
完美! single_user 是我一直在寻找的。span>以上是关于如何断开除sa之外的sql server中的所有用户?的主要内容,如果未能解决你的问题,请参考以下文章
sql server 2008 sa禁用 windows用户删除了 怎么才能再登陆?
为啥SQL数据库不能用SQL Server身份登录 提示用户sa登录失败。(Microsoft SQL server,错误18456)
为啥SQL数据库不能用SQL Server身份登录 提示用户sa登录失败。(Microsoft SQL server,错误18456)
我的sql server 2008不能登录,用windows和sa都无法登录 标题: 连接到服务器 ---------------------------
SQL server 2000数据库的用户sa的密码忘了怎么办
解决 SQL Server 所有帐号无 sysadmin 权限,且未启用 SQL Server 身份验证,sa 帐号也未启用的问题