Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 восстановление системных таблиц  [new]
vl_voda
Member

Откуда:
Сообщений: 3
исчезла системная таблица "sys.sysschobjs" в рабочей бд
кто-нибудь знает, как восстановить?
18 фев 13, 11:34    [13941553]     Ответить | Цитировать Сообщить модератору
 Re: восстановление системных таблиц  [new]
LenaV
Member

Откуда: USA
Сообщений: 6764
думаю, что она не исчезла.
просто она вам не доступна.
18 фев 13, 19:55    [13945031]     Ответить | Цитировать Сообщить модератору
 Re: восстановление системных таблиц  [new]
vl_voda
Member

Откуда:
Сообщений: 3
LenaV
думаю, что она не исчезла.
просто она вам не доступна.


поверьте мне, я знаю, что говорю (в данном случае - пишу)
19 фев 13, 21:04    [13951298]     Ответить | Цитировать Сообщить модератору
 Re: восстановление системных таблиц  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
vl_voda
поверьте мне, я знаю, что говорю


Вы бы, хоть, сообщение об ошибке привели, которое позволяет Вам "говорить"...
19 фев 13, 21:42    [13951436]     Ответить | Цитировать Сообщить модератору
 Re: восстановление системных таблиц  [new]
LenaV
Member

Откуда: USA
Сообщений: 6764
что вам возвращает этот запрос в пользовательской базе?

select * from sys.objects
19 фев 13, 22:36    [13951626]     Ответить | Цитировать Сообщить модератору
 Re: восстановление системных таблиц  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
vl_voda
LenaV
думаю, что она не исчезла.
просто она вам не доступна.


поверьте мне, я знаю, что говорю (в данном случае - пишу)
Ну если вы все знаете, чего тогда тут вопросы задаете?
А восстановить легко, поднимите бэкап.
19 фев 13, 22:55    [13951723]     Ответить | Цитировать Сообщить модератору
 Re: восстановление системных таблиц  [new]
LenaV
Member

Откуда: USA
Сообщений: 6764
LenaV
что вам возвращает этот запрос в пользовательской базе?

select * from sys.objects

вы получили какой-нибудь результат?
посмотрите на план выполнения этого запроса.
самый первый шаг справа - обращение к кластерному индексу таблицы sys.sysschobjs

системную таблицы так просто удалить нельзя,
даже админу.
если у вас пропали системные таблицы с метаданными базы, то базу невозможно будет открыть.
тогда уже надо ловить кто и как хакнул вам сервер, а не востанавливать таблицы.
19 фев 13, 23:17    [13951831]     Ответить | Цитировать Сообщить модератору
 Re: восстановление системных таблиц  [new]
vl_voda
Member

Откуда:
Сообщений: 3
отвечаю по порядку вопросов
sql server 2005

1 pkarklin - ошибку вернул DBCC:
CHECKDB found 0 allocation errors and 1 consistency errors in table 'sys.sysschobjs' (object ID 34).
2 LenaV - смотрел в sys.objects - ссылка есть, id=34
3 Mind - backup без ошибки устарел на неделю,
впрочем на работоспособность BD сбой не повлиял,
и перезалить базу в чистую - не проблема (что и было сделано - ошибка исчезла).
4 LenaV - конечно, системную так просто не сковырнешь (тем более в версии старше 7x)
к базе "снаружи" доступа нет, обслуживаю только я, человеческий фактор исключаю (не тот контингент),
диск - битых секторов нет

За целостность я спокоен.
Да и причина сбоя меня, собственно, пока не интересует.
Дело, как говориться - "в принципе" - что же это за таблица такая?
Очень мало про нее информации, так, общие слова.

У кого есть информация - буду оч. признателен.
20 фев 13, 00:15    [13952152]     Ответить | Цитировать Сообщить модератору
 Re: восстановление системных таблиц  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
vl_voda,

CHECKDB умеет работать в транзакции. Пробуйте запускать ее (если бэкап текущий есть где поднять и просто проверить на нем - это будет здОрово) с ключами восстановления.
20 фев 13, 00:26    [13952179]     Ответить | Цитировать Сообщить модератору
 Re: восстановление системных таблиц  [new]
LenaV
Member

Откуда: USA
Сообщений: 6764
vl_voda
Дело, как говориться - "в принципе" - что же это за таблица такая?

это системная базовая таблица.
содержит инфо о всех обьектах в базе данных.
создается во всех базах.
на ней построена например вьюшка sys.sysobjects
каждый раз, когда изменяется схема пользовательской таблицы, например,
будет меняться и запись об этой таблице в sys.sysschobjs

в случае вашей ошибки возможно было достаточно узнать какая запись в sys.sysschobjs была корапнутая
и пересоздать только ту таблицу, к которой эта запись относилась.
20 фев 13, 01:37    [13952418]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить