Bu konu doğrudan SQL Server ile alakalı olmasa da, DBA olarak işinize yarayacak bir ipucu olduğunu düşünüyorum. En azından ben gün içerisinde sık sık kullanmak durumunda kalabiliyorum.
Eğer benim ortamımda olduğu gibi sizin ortamınızda da bol bol SQL Server sunucusu varsa ve bunlara sistem yöneticileri, operasyon, SAN bölümü, uygulama bölümü gibi bölümlerden arkadaşların zaman zaman bağlanmaları gerekiyor ve bağlandıktan sonra da oturumlarını kapatmak yerine doğrudan bağlantılarını koparıyor ve oturumlarını açık bırakıyorlarsa, sunucuya RDP yapmak istediğiniz zaman müsait oturumun olmadığına dair şöyle bir mesajla karşılaşırsınız:
"The terminal server has exceeded the maximum number of allowed connections."İşte o anda ya Admin\Console olarak bağlanacaksınız ya da o sunucuda oturum açmış kişileri tahmin edebiliyorsanız veya biliyorsanız onları arayıp size oturum açmalarını isteyeceksiniz veya en kötü ihtimalle işinizi erteleyeceksiniz.
Çözüm olarak ise, eğer işletim sistemi olarak bilgisayarınızda bir Server OS kullanıyorsanız o zaman "tsadmin" konsolunu kullanıp uzaktaki sunucuda bulunan oturumları görüp bunları kapatabilirsiniz. Veya ister bir Server OS ister bir Client OS olsun, Command Prompt'tan kullanabileceğiniz
"Query User" komutuyla uzaktaki sunucuda (eğer yeterli haklarınız varsa, portlarınız açıksa) bulunan oturumları görüp, bu oturumları sonlandırabilirsiniz.
Veya kısayol olarak
"qwinsta" ve
"rwinsta" komutlarını kullanabilirsiniz.
"qwinsta" komutunu, uzaktaki sunucuda bulunan oturumları sorgulamak için,
"qwinsta" komutunu ise uzaktaki sunucuda bulunan oturumları sonlandırmak için kullanabilirsiniz.
Bu komutlar hakkında daha fazla bilgi almak için örneğin "qwinsta /?" komutunu çalıştırabilirsiniz.
Bu komuta bir örnek vermek gerekirse,
"qwinsta" veya doğrudan "Query User /server:
" komutuyla uzaktaki sunucuda bulunan oturumları ve ID'lerini gördükten sonra aşağıdaki komut ile örneğin 2 ID numaralı oturumu sonlandırabilirsiniz. Bu örnekte uzaktaki sunucunun adı "PRODSQLSRV"dir.
"qwinsta 2 /server:"