Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: База в состоянии SUSPECT  [new]
select + where
Guest
Проблемка
Я часть данных могу SELECT, а если выбираю все

Сообщение 605, уровень 21, состояние 3, строка 2
Ошибка при попытке выборки логической страницы (1:1840) в базе данных 5. Она принадлежит единице распределения 72057594063224832, а не 72057594046775296.

Неужели нельзя как то указать, не использовать эту страницу ?
Или это невозможно. Или это ошибка другого характера ?

select c условием по кластерному индексу
12 дек 13, 13:54    [15282421]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Проблемка
Guest
Не пойму почему не помогает это ?
DBCC CHECKDB ([Status],REPAIR_ALLOW_DATA_LOSS)

Оно то, по сути, и должно промаркировать их как несуществующие ?
12 дек 13, 13:54    [15282423]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Проблемка
Guest
Проблемка
Я часть данных могу SELECT, а если выбираю все

Сообщение 605, уровень 21, состояние 3, строка 2
Ошибка при попытке выборки логической страницы (1:1840) в базе данных 5. Она принадлежит единице распределения 72057594063224832, а не 72057594046775296.

Неужели нельзя как то указать, не использовать эту страницу ?
Или это невозможно. Или это ошибка другого характера ?

select c условием по кластерному индексу

Что вы имеет ввиду ?
12 дек 13, 13:56    [15282437]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37075
Проблемка
Неужели нельзя как то указать, не использовать эту страницу ?
Или это невозможно. Или это ошибка другого характера ?
Ну если бы и можно было указать, то дальше что? Большинство страниц таблиц сделано в качестве связанного списка, где каждая страница содержит ссылку на следующую и предыдущую. Пропала одна страница, и все, превед, список разорван, дальше этой страницы все равно не пойти.

Сообщение было отредактировано: 12 дек 13, 13:59
12 дек 13, 13:59    [15282458]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
select + where
Guest
Проблемка
Проблемка
Я часть данных могу SELECT, а если выбираю все

Сообщение 605, уровень 21, состояние 3, строка 2
Ошибка при попытке выборки логической страницы (1:1840) в базе данных 5. Она принадлежит единице распределения 72057594063224832, а не 72057594046775296.

Неужели нельзя как то указать, не использовать эту страницу ?
Или это невозможно. Или это ошибка другого характера ?

select c условием по кластерному индексу

Что вы имеет ввиду ?


select *
from table 
where id < ...

+

select *
from table 
where id > ...


значения "..." определяй либо экспериментально, либо прочитав ч/з dbcc page информацию с битой страницы
12 дек 13, 13:59    [15282461]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
select + where
Guest
Гавриленко Сергей Алексеевич
Проблемка
Неужели нельзя как то указать, не использовать эту страницу ?
Или это невозможно. Или это ошибка другого характера ?
Ну если бы и можно было указать, то дальше что? Большинство страниц таблиц сделано в качестве связанного списка, где каждая страница содержит ссылку на следующую и предыдущую. Пропала одна страница, и все, превед, список разорван, дальше этой страницы все равно не пойти.

можно, с другой стороны списка ;)
12 дек 13, 14:00    [15282470]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37075
select + where

select *
from table 
where id < ...

+

select *
from table 
where id > ...


значения "..." определяй либо экспериментально, либо прочитав ч/з dbcc page информацию с битой страницы
Это если индекс по id сохранился. Иначе скан и до свиданья.
12 дек 13, 14:01    [15282476]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
select + where
Guest
Гавриленко Сергей Алексеевич
select + where
select *
from table 
where id < ...

+

select *
from table 
where id > ...


значения "..." определяй либо экспериментально, либо прочитав ч/з dbcc page информацию с битой страницы
Это если индекс по id сохранился. Иначе скан и до свиданья.



автор
select c условием по кластерному индексу
12 дек 13, 14:02    [15282493]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
проблемка
Guest
Проблемка
Неужели нельзя как то указать, не использовать эту страницу ?
Или это невозможно. Или это ошибка другого характера ?
Ну если бы и можно было указать, то дальше что? Большинство страниц таблиц сделано в качестве связанного списка, где каждая страница содержит ссылку на следующую и предыдущую. Пропала одна страница, и все, превед, список разорван, дальше этой страницы все равно не пойти.

Ну я выберу данные до этого момента. Часть данных у меня будет. Часть нет ну и фиг с ними.


Проблемка
Проблемка
Я часть данных могу SELECT, а если выбираю все

Сообщение 605, уровень 21, состояние 3, строка 2
Ошибка при попытке выборки логической страницы (1:1840) в базе данных 5. Она принадлежит единице распределения 72057594063224832, а не 72057594046775296.

Неужели нельзя как то указать, не использовать эту страницу ?
Или это невозможно. Или это ошибка другого характера ?

select c условием по кластерному индексу

Что вы имеет ввиду ?


select *
from table
where id < ...

+

select *
from table
where id > ...


значения "..." определяй либо экспериментально, либо прочитав ч/з dbcc page информацию с битой страницы

Что мне делать с ними потом ?
12 дек 13, 14:04    [15282509]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
select + where
Guest
проблемка
Что мне делать с ними потом ?

то же, что вы хотели делать с select-ом без "битой" страницы
12 дек 13, 14:06    [15282523]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Проблемка
Guest
1)
select top 5592 * from journal - выбирает,а
select top 5593 * from journal - вываливается ошибка.
Могу я оставить эти 5592 записи ? Или нужно их перелить в другую таблицу ?

2) Если я сделаю Truncate table то он удалит и все битые страницы ?
12 дек 13, 14:11    [15282569]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Проблемка
Guest
Что это за число такое странное 5592 ?
Я же так понимаю я либо могу прочитать страницу либо нет ? Или немного не так ?
12 дек 13, 14:14    [15282599]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
select + where
Guest
Проблемка
1)
select top 5592 * from journal - выбирает,а
select top 5593 * from journal - вываливается ошибка.
Могу я оставить эти 5592 записи ? Или нужно их перелить в другую таблицу ?

2) Если я сделаю Truncate table то он удалит и все битые страницы ?


Нет вам нужно их перилить в другую таблицу, почистить/удалить эту, перелить спасенные данные обратно/переименовать таблицу

еще бы я сделал
select  top ... * from journal order by [тут ключ кластерного индекса]  desc


тогда появиться шанс спасти все данные кроме проблемной страницы.
12 дек 13, 14:15    [15282609]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
select + where
Guest
Проблемка
Что это за число такое странное 5592 ?
Я же так понимаю я либо могу прочитать страницу либо нет ? Или немного не так ?

5593 запись лежит на первой (или единственной) битой странице.
12 дек 13, 14:16    [15282623]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Проблемка
Guest
Ага сейчас попробую.

Никто не поделится ссылочкой была где то, восстановление данных с битых страниц. Такая довольно обширная статья была?
12 дек 13, 14:16    [15282629]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Проблемка
Guest
Если делаю

select top 5592 * from journal order by J_DATE (j_date поле с кластерным индексом) отрабатывает
select top 5593 * from journal order by J_DATE та же ошибка что и раньше
Если
select top 100 * from journal order by J_DATE DESC - ок
Если
select top 500 * from journal order by J_DATE DESC
- Произошла ошибка при выполнении пакетного файла. Сообщение об ошибке: Переполнение SqlDateTime. Должно находиться в пределах от 1/1/1753 12:00:00 AM и 12/31/9999 11:59:59 PM.

Что это значит ?

2) Как перелить эти 5000 записей в другую базу находящуюся на том же сервере ?
12 дек 13, 14:28    [15282712]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
select + where
Guest
Проблемка
select top 500 * from journal order by J_DATE DESC
- Произошла ошибка при выполнении пакетного файла. Сообщение об ошибке: Переполнение SqlDateTime. Должно находиться в пределах от 1/1/1753 12:00:00 AM и 12/31/9999 11:59:59 PM.

Что это значит ?

наткнулись на битую страницу


Проблемка
2) Как перелить эти 5000 записей в другую базу находящуюся на том же сервере ?

командой insert
12 дек 13, 14:33    [15282744]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Проблемка
Guest
А как перенести данные между разные серверами/таблицами ?

Мне нужно отключить поле идентити при вставке ?
12 дек 13, 15:04    [15283005]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Проблемка
Guest
У этой таблицы кучу FK.
можно как от отключить целостность вставить данные а потом ее включить.
Если такое можно (уверен, что да :)) подскажите как ?
12 дек 13, 15:09    [15283048]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Проблемка
Guest
Странно а почему
SELECT count(*) from journal отрабатывает без ошибки ?
12 дек 13, 15:15    [15283105]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Glory
Member

Откуда:
Сообщений: 104760
Проблемка
Странно а почему
SELECT count(*) from journal отрабатывает без ошибки ?

Новерное потому, что для этого запроса не нужно читать поврежденные страницы
12 дек 13, 15:18    [15283134]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Glory
Member

Откуда:
Сообщений: 104760
Проблемка
У этой таблицы кучу FK.
можно как от отключить целостность вставить данные а потом ее включить.
Если такое можно (уверен, что да :)) подскажите как ?

Уже несколько раз сказали
- переносите данные в другую таблицу. сколько сможите. командой insert
- создаете скрипт таблицы. есть такая кнопочка в меню студии
- удаляете поврежденную таблицу
- создаете таблицу из скритпа
- заносите туда данные, сохраненные в другой таблице
12 дек 13, 15:21    [15283152]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Проблемка
Guest
А откуда он берет эту информацию ?
А можно как то посмотреть какие использует страницы таблица ?
А можно посмотреть какую информацию содержат битые страницы ?

Ну и собственно как вставить данные без проверки ограничений.
12 дек 13, 15:22    [15283164]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Glory
Member

Откуда:
Сообщений: 104760
Проблемка
А откуда он берет эту информацию ?

Например, из индекса

Проблемка
А можно как то посмотреть какие использует страницы таблица ?

Таблица использует все свои страницы

Проблемка
А можно посмотреть какую информацию содержат битые страницы ?

Ну смотрите. DBCC PAGE()
Чем это только вам поможет
12 дек 13, 15:24    [15283183]     Ответить | Цитировать Сообщить модератору
 Re: База в состоянии SUSPECT  [new]
Проблемка
Guest
Много читал теории и вот наконец попалась бита база :) есть возможность так сказать посмотреть самому.

Что разве нет возможности залить информацию без ограничений целостности ?
12 дек 13, 15:27    [15283209]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить