powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Восстановление после сбоя
13 сообщений из 13, страница 1 из 1
Восстановление после сбоя
    #40131542
lcnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую!
Имею базу 'SERVICEDESK_TEST'
После некоторого сбоя, не удается полностью починить базу.
Подскажите пожалуйста, как ее починить?

Лог чека и лог восстановления во вложенном файле
...
Рейтинг: 0 / 0
Восстановление после сбоя
    #40131553
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lcnet,

ну хотя бы в ZIP выложите
...
Рейтинг: 0 / 0
Восстановление после сбоя
    #40131615
lcnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот
...
Рейтинг: 0 / 0
Восстановление после сбоя
    #40131690
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lcnet,

у вас побиты 2 таблицы
SDeskAttachment (752057765)
Arc_ChargesTable (1175779346)

восстановитесь из последнего бекапа до момента сбоя и перелейте таблицы, если это логически возможно
...
Рейтинг: 0 / 0
Восстановление после сбоя
    #40131717
lcnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из сообщений проверки и восстановления я понял про таблицы.
После сбоя прошло много времени, еще до моего появления в данной компании.
Сама система (это ManageEngine) работает нормально, ошибки валятся при снятии бэкапа, по этому решил заняться восстановлением. Но, когда увидел разные записи в таблицах, на которые ругется "чек" и "рестор", решил поинтересоваться вариантами.
...
Рейтинг: 0 / 0
Восстановление после сбоя
    #40131722
lcnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли попытаться удалить упоминания о данных записях?
Что-то вроде:

Delete from servicedesk_test.Arc_ChargesTable
Where "здесь должен быть идентификатор объекта, но я хз как он обозначается, в таблице идет первый столбец - CHARGEID, видимо он" 1175779346
...
Рейтинг: 0 / 0
Восстановление после сбоя
    #40131725
lcnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конструкция такая, думаю:

Delete from servicedesk_test.dbo.Arc_ChargesTable
Where CHARGEID = 1175779346;
go

Но, результатов нет, пишет (строк обработано: 0)
...
Рейтинг: 0 / 0
Восстановление после сбоя
    #40131729
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lcnet
Можно ли попытаться удалить упоминания о данных записях?
Что-то вроде:

Delete from servicedesk_test.Arc_ChargesTable
Where "здесь должен быть идентификатор объекта, но я хз как он обозначается, в таблице идет первый столбец - CHARGEID, видимо он" 1175779346

у вас побита служебная информация на нескольких (многих?) страницах таблиц
нащупать битый диапазон можно последовательно проверяя блоки записей (select * from table where id between xxx and yyy)
...
Рейтинг: 0 / 0
Восстановление после сбоя
    #40131730
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lcnet
Конструкция такая, думаю:

Delete from servicedesk_test.dbo.Arc_ChargesTable
Where CHARGEID = 1175779346;
go

Но, результатов нет, пишет (строк обработано: 0)


как вы бесстрашно машете командой delete - аж прям завидую

тот номер, что вы указали, есть ID таблицы, а не ID записи
...
Рейтинг: 0 / 0
Восстановление после сбоя
    #40131731
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас по одной проблемной странице в каждой из таблиц

"SDeskAttachment_PK". (ключ = 215307).
"Arc_ChargesTable_PK". (ключ = 302260).

нужны ли вам записи с этими ключами?


1. Что будет, если вы выполните ?

select * from dbo.Arc_ChargesTable where ключ_таблицы = 215307
select * from dbo.SDeskAttachment where ключ_таблицы = 302260


2. Если будет ошибка, то попробуйте найти эти проблемные страницы. Например через dbcc page двигаясь от root-а индекса до нужных ключей


3. Как бы вы не получили данные по этим ключам, решите что же делать с этими записями ( судя по всем, у вас более 1 записи по каждому из этих ключей)

4. Перелейте корректные данные в другую таблицы (попробуйте использовать условие
ключ_таблицы < проблемного значения и ключ_таблицы > проблемного значения )

5. Плюс долейте (или просто проигнорируйте) записям с проблемными ключами (но только так, чтобы соблюсти уникальность)

6. переименовывайте старые таблицы в какой-нибудь ..._old а новые таблицы в исходные имена



Тут где-то еще могут вылезти проблемы с FK
...
Рейтинг: 0 / 0
Восстановление после сбоя
    #40131732
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lcnet
Из сообщений проверки и восстановления я понял про таблицы.
После сбоя прошло много времени, еще до моего появления в данной компании.
Сама система (это ManageEngine) работает нормально, ошибки валятся при снятии бэкапа, по этому решил заняться восстановлением. Но, когда увидел разные записи в таблицах, на которые ругется "чек" и "рестор", решил поинтересоваться вариантами.


похоже, что побитые страницы таблиц содержат данные, которые не используются системой (архив или исторические)
на вашем месте я бы сделал следующее: скопировал данные из таблиц в новые таблицы, старые таблицы удалил, новые переименовал
...
Рейтинг: 0 / 0
Восстановление после сбоя
    #40131906
lcnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad
msLex
Спасибо!
Попробую, отпишусь.
...
Рейтинг: 0 / 0
Восстановление после сбоя
    #40132424
lcnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем, долго и муторно, но получилось.
Пришлось удалять вручную кучу записей.

так:
DELETE FROM имя_таблицы WHERE ID_строки=№.

Всем спасибо.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Восстановление после сбоя
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]