1

Тема: MS SQL 2019, як діагностувати проблему ?

Експресс версія, встановленно на 2019 сервері. Жере тварюка перманентно від 20% до 90% CPU. Та ще не давна після перевантаження ОС, пропали ВСІ таблиці в БД. Як діагностувати що призводить до таких проблем ?

2 Востаннє редагувалося frz (03.08.2021 12:29:02)

Re: MS SQL 2019, як діагностувати проблему ?

від 20% до 90% CPU

Незрозуміло яка конфігурація самого комп'ютера. Я на своєму компі (4 ядра, 16 гіг оперативи, SSD) вимкнув автостарт для MSSQL (версія під лінукс) і вмикаю лише тоді, коли це потрібно для роботи. Це не той софт, який можна встановити на фоні і про нього забути. От Postgres можна, він в мене постійно запущений і зовсім не помітний серед процесів; тож якщо це випадок коли встановили перший-ліпший движок бд щоб просто повчитися, тоді краще замінити MSSQL на Postgres.

пропали ВСІ таблиці в БД

Залогінитися під sa і перевірити знову:

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'

3

Re: MS SQL 2019, як діагностувати проблему ?

frz написав:

від 20% до 90% CPU

Незрозуміло яка конфігурація самого комп'ютера. Я на своєму компі (4 ядра, 16 гіг оперативи, SSD) вимкнув автостарт для MSSQL (версія під лінукс) і вмикаю лише тоді, коли це потрібно для роботи. Це не той софт, який можна встановити на фоні і про нього забути. От Postgres можна, він в мене постійно запущений і зовсім не помітний серед процесів; тож якщо це випадок коли встановили перший-ліпший движок бд щоб просто повчитися, тоді краще замінити MSSQL на Postgres.

ядеро від ксеона 2.4 GHZ + 4GB оперативної, 2017 MSSQL  на схожому конфігу майже ніколи більше ~6% CPU не бере

frz написав:

пропали ВСІ таблиці в БД

Залогінитися під sa і перевірити знову:

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'

не вийде, майже одразу з бекапу підняв

4 Востаннє редагувалося frz (04.08.2021 00:28:00)

Re: MS SQL 2019, як діагностувати проблему ?

База взагалі використовується, чи це локальний комп і база просто для навчання?

Якщо база використовується, то радять обмежити максимальний ступінь паралельності (Max Degree of Parallelism) до половини від кількості ядер процесора, аби решта ядер могли вільно обслуговувати інші задачі.

тиць - англійською

Також (знову ж таки, якщо база використовується) з мого досвіду, сильно вантажать базу запити, під які не створено відповідних індексів. Тут в двох словах фікс не розказати, однак напрямок польоту думки такий - шукати де запит використовує full table scan. Шукати важкі запити:

Коли знайдено найважчі, дивитися їхні плани виконання.

Тож конфігурація це ще не все, потрібна інформація про використання бази.