Bah*_*mut 3 sql-server sql-server-2008-r2 sql-server-2012
我已经看到了关于踢所有其他用户的多个答案,但是有没有办法停止进程 ID 并将一个用户踢出数据库。例如。用户 AB 和 C 已连接到试图生成报告的数据库,但我只希望 C 停止并断开连接,而 A 和 B 仍然能够继续其进程。
作为一次性,您可以使用EXEC sp_who或EXEC sp_who2或类似方法来查找该用户连接的 SPID,然后使用它KILL <SPID>来停止它们。请注意,他们打开的任何已进行更改的事务都需要回滚,这可能需要一些时间并且是 I/O 密集型的,但如果他们只是运行报告,则这种影响应该很小。要阻止他们立即重新启动进程,请在执行此操作之前禁用他们的访问(使用ALTER LOGIN <name> DISABLE或通过更精细地调整他们的访问权限)。
如果您发现自己需要定期执行此操作,则可以编写一个程序来自动执行任务,因此您可以直接运行EXEC kick_user_off '<name>';,但如果您需要定期执行此类操作以使其值得自动化,那么我怀疑您有需要修复的过程和/或用户问题,这只是一个症状。
| 归档时间: |
|
| 查看次数: |
4175 次 |
| 最近记录: |