Як дізнатися активні сеанси користувачів в ms sql 2018, програмування для початківців

Для того щоб розуміти, що таке системне уявлення, раджу Вам для початку ознайомитися з поняттям простого уявлення, яке розглядається в статті - Навіщо потрібні уявлення (views) в базах даних. Також ми будемо писати нехай прості, але все запити, з основами яких Ви природно повинні бути знайомі, якщо немає, то можете прочитати статтю основи мови SQL - оператор select.

Начебто все, що необхідно знати, перед тим як щось пробувати з нижче наведених прикладів на практиці я вказав, переходимо безпосередньо до самої суті сьогоднішнього питання.

Як дізнатися активні сеанси користувачів

Системне уявлення sys.sysprocesses містить поточний стан сервера на предмет запущених процесів, виходячи з цього, напишемо простенький запит:

  • db - це база даних, в якій запущений процес;
  • idproc - ідентифікатор процесу;
  • loginame - логін, тобто хто саме запустив;
  • program_name - додаток, з якого запущений процес;
  • status - відповідно статус.

Статуси бувають різні, наприклад,

  • Runnable - активний процес, тобто наприклад, в даний момент виконується якийсь запит;
  • Sleeping - режим очікування, тобто наприклад, вікно запиту відкрито, але в даний момент він не запущений;
  • Background - працює у фоновому режимі.

Якщо Вам потрібна, хто саме працює конкретно в тій чи іншій базі можна додати умову:

Відповідно замість name_db пишіть свою потрібну базу даних, і результат буде отримано лише по цій базі даних.

Як завершити всі активні сеанси користувачів

Для того щоб завершити всі підключення користувачів до бд, виконаємо наступний запит:

  • @dbname - змінна, для того щоб вказати до якої базі необхідно завершити всі підключення;
  • @query - змінна для зберігання запиту;

У конструкції select ми динамічно формуємо запит з ідентифікаторами процесів, які необхідно завершити. Далі в змінної @query буде зберігатися запити виду

kill 58; kill 61; kill 70;

які ми виконаємо через exec (@query) і тим самим завершимо всі процеси.

Як дізнатися активні сеанси користувачів в ms sql 2008, програмування для початківців

З усього вище сказаного Ви легко можете дізнаватися, хто саме зараз виконує запит і навіть завершити його, що в свою чергу іноді буває корисно.