Callback
  • Від місця на ринку до магазину

  • -

  • Від магазину до торговельної мережі

  • -

  • Від торгівлі до виробництва

SQL Server: статус бази даних Suspect або Recovery Pending

Володимир Витищенко
Володимир Витищенко

Експерт з автоматизації торгівлі у Торгсофт

Статуси Suspect або Recovery Pending означають, що SQL Server не може коректно відкрити базу даних або завершити її відновлення. У такому стані програма Торгсофт не запускається або не працює з даними.

Матеріал призначений для системних адміністраторів або користувачів із практичним досвідом роботи з Microsoft SQL Server та розумінням наслідків змін у структурі бази даних. Усі дії виконуються на власний ризик: некоректне застосування команд може призвести до втрати даних або непрацездатності бази. Перед виконанням будь-яких операцій необхідно створити повну резервну копію бази даних, перевірити наявність вільного місця на диску та переконатися у відсутності активних підключень до бази. Якщо немає впевненості у правильності дій або їх наслідках — рекомендується звернутися до технічної підтримки.

Типові ситуації

  • після раптового вимкнення електроенергії,

  • після аварійного перезавантаження ПК,

  • при нестачі вільного місця на диску,

  • при пошкодженні файлів бази даних або диска.

Як проявляється

  • база даних у SSMS має статус Suspect або Recovery Pending,

  • Торгсофт не запускається або зависає при старті,

  • з’являється повідомлення про неможливість підключення до бази,

  • SQL Server не переводить базу в стан Online.

Причини

  1. Немає вільного місця на диску
    SQL Server не може завершити відновлення журналу транзакцій.

  2. Аварійне завершення роботи SQL Server
    Пошкоджена логічна структура бази після вимкнення живлення.

  3. Проблеми з доступом до файлів БД
    Перейменована папка, змінені права доступу або антивірус блокує файли.

  4. Фізичні проблеми з HDD / SSD
    Пошкоджені сектори або помилки файлової системи.

Що робити

Крок 1. Перевірити базові речі (обовʼязково)

  1. Перевірте вільне місце на диску, де зберігається база (зазвичай C:\).

    •    має бути мінімум 5–10 ГБ вільного простору.

  2. Перевірте, чи запущена служба SQL Server (services.msc).

  3. Перезавантажте компʼютер та дочекайтесь повного старту Windows.

  4. Переконайтесь, що папка з базою даних не переміщена та доступна.

Крок 2. Спроба вивести базу з аварійного стану (через SSMS)

 Виконується лише якщо встановлений SQL Server Management Studio.

  1. Підключіться до сервера в SSMS,

  2. Переведіть базу в режим EMERGENCY,

  3. Запустіть перевірку цілісності DBCC CHECKDB.

 У SSMS виконайте команди по черзі (замініть TorgsoftDB на назву вашої бази):

У SSMS виконайте команди по черзі (замініть TorgsoftDB на назву вашої бази):
EXEC sp_resetstatus 'TorgsoftDB'; -- Скидання поточного статусу ALTER DATABASE TorgsoftDB SET EMERGENCY; -- Перемикання на режим EMERGENCY DBCC CHECKDB('TorgsoftDB'); -- Перевірка файлів без виправлення USE TorgsoftDB; -- Перехід у контекст бази ALTER DATABASE TorgsoftDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE; -- Переведення в режим SINGLE_USER DBCC CHECKDB('TorgsoftDB', REPAIR_ALLOW_DATA_LOSS); -- Перевірка та виправлення помилок ALTER DATABASE TorgsoftDB SET MULTI_USER; -- Повертаємо назад у режим MULTI_USER DBCC CHECKDB('TorgsoftDB'); -- Повторна перевірка після виправлення
  1. Спробуйте повернути базу в режим ONLINE.

Результат:

  • якщо база переходить у Online — роботу відновлено,

  • якщо CHECKDB показує невиправні помилки — база пошкоджена.

Крок 3. Відновлення з резервної копії (найнадійніший варіант)

Якщо база не виходить зі статусу Suspect / Recovery Pending:

  1. Знайдіть останній архів бази:

    •    локально: C:\DatabaseArchive\

    •    або в C:\Журнал Торгсофт\

    •    або в папці, куди архів зберігали під час останнього ручного створення

    •    або у хмарі (якщо була активна «Безпека даних»).

  2. Файл має розширення .mir або .mirz.

  3. Виконайте:

    •    «База даних → Відновити з архіву» в Торгсофт
      або

    •    відновлення через SSMS.

Перевірка після виконання

  • база даних має статус Online,

  • Торгсофт запускається без помилок,

  • відкриваються довідники, продажі, звіти,

  • немає повідомлень про помилки SQL.

Як уникнути повторення

  • використовувати UPS для ПК з базою даних,

  • забезпечити автоматичне архівування (локально або в хмару),

  • постійно контролювати обсяг БД (ліміт SQL Express — 10 ГБ),

  • не допускати заповнення системного диска,

  • періодично перевіряти стан HDD / SSD.

Ключове правило

Якщо база має статус Suspect або Recovery Pending і не переходить у Online
відновлення з резервної копії є єдиним гарантованим способом повернути роботу системи.

Що підготувати для техпідтримки

  1. Скриншот або точний текст статусу бази в SSMS.

  2. Файли логів:

    •    log_server.data

    •    server_app_log.data.

  3. Дата та наявність останнього архіву.

  4. Версія Торгсофт та SQL Server.


Програма обліку товару | Торгсофт



Facebook Instagram YouTube Twitter Google News Apple Podcast SounCloud

Додати коментар

Додати коментар
Дякуємо за ваш відгук! Він буде опублікований після перевірки модератором.
Схожі статті