刚刚讨论了如何强制登陆“终端服务器超出了最大允许连接数”的终端。那么登陆上去后如何解决这个问题呢?不可能每次都用那种方法登陆吧?!

一、登陆上去后,打开任务管理器-用户,注销其它用户。

二、如果可以Telnet,不管用什么方式,反正可以得到服务器的Shell。
上去后先看登陆的用户,输入命令:query user
系统返回:

 用户名                会话名             ID  状态    空闲时间   登录时间
administrator         console             0  运行中          .  2009-12-16 8:30
hqw23                 UserMachine1        1  运行中          .  2009-12-16 12:37
user                                      12 已断开         无  2009-12-16 15:17 

看到了吗?ID为0的用户是本地登陆的,ID为1和ID为12是3389登陆的用户。前者在运行中,后者已经断开了。但是断开了仍然占用系统资源和通道。我们要把它踢掉,方法是:
输入命令:logoff 12

再次query user,显示:

 用户名                会话名             ID  状态    空闲时间   登录时间
administrator         console             0  运行中          .  2009-12-16 8:30
hqw23                 UserMachine1        1  运行中          .  2009-12-16 12:37

三、如果服务器关闭了Telnet功能,还可以通过SqlServer的xp_cmdshell扩展存储过程,使用格式:
master.dbo.xp_cmdshell '命令内容'
此方式要求有访问xp_cmdshell的权限。