|
v7: SQL база данных в режиме single user \ emergency mode | ☑ | ||
---|---|---|---|---|
0
kupec
04.07.13
✎
15:47
|
Как такое лечится ???? SQL 2000
|
|||
1
КонецЦикла
04.07.13
✎
16:48
|
ALTER DATABASE НазваниеБазы
SET MULTI_USER; Не то? |
|||
2
Mikeware
04.07.13
✎
16:51
|
сингл или эмердженси?
|
|||
3
MaximRodnik
04.07.13
✎
17:10
|
Если эмердженси, то дело худо и переводить в онлайн нельзя до устранения причин и снятия бэкапа.
|
|||
4
kupec
04.07.13
✎
18:13
|
(3) в эмергенси
|
|||
5
vcv
05.07.13
✎
06:13
|
Плохо. База потенциально повреждена и ни кто не гарантирует её целостность. Лучше бы из бэкапа поднять.
Если нет воможности из бэкапа, то попробуйте где-то так: USE master GO sp_configure 'allow updates', 1 reconfigure WITH override GO DBCC CHECKDB('<dbname>', REPAIR_ALLOW_DATA_LOSS) GO DBCC CHECKDB('<dbname>', REPAIR_REBUILD ) GO ALTER DATABASE <dbname> SET ONLINE, MULTI_USER GO После каждого DBCC CHECKDB внимательно рассматривать выдачу. Возможно и восстанавливать дальше смысла нет. :( |
|||
6
КонецЦикла
05.07.13
✎
08:25
|
(5) Да, да, очень опасно, но советуем потерять данные :)
(0) Попробуй так выкрутиться, REPAIR_ALLOW_DATA_LOSS - на крайний случай: http://1c911.by/stati_1s/statya-ispravlenie-oshibok-dbcc-checkdb-1s-sql-vruchnuyu.htm |
|||
7
ЧеловекДуши
05.07.13
✎
08:29
|
(0) Руками переткни, галочку, в менеджере SQL :)
|
|||
8
ЧеловекДуши
05.07.13
✎
08:31
|
(5) А индексацию сделать?
USE base_1c EXEC _1sp_DBReindex |
|||
9
ЧеловекДуши
05.07.13
✎
08:32
|
+ (0)
При работе в системе "1С: Предприятие для SQL" необходимо периодически проверять базу данных командой dbcc checkdb. Кроме того, в случае появления каких- либо сбоев работы программы, рекомендуется провести реиндексацию данных с помощью встроенной процедуры _1sp_DBReindex. • Как производить проверку, переиндексацию базы на SQL Server Проверку логической целостности нужно выполнять штатными средствами 1С:Предприятия (Тестирование и исправление ИБ). В случае, если такую проверку не удается выполнить, следует проверить физическую целостность БД средствами MS SQL. Для проверки целостности средствами MS SQL нужно выполнить следующую команду: DBCC CHECKDB ('<имя базы>',REPAIR_REBUILD) Перед выполнением этой команды нужно базу данных перевести в режим "single user": sp_dboption '<имя базы>','single user',true. В процессе работы DBCC CHECKDB могут быть обнаружены ошибки и часть может быть сразу же исправлена. Если ошибки остались, то по всей видимости их нельзя восстановить без потери некоторых данных. В этом случае нужно запустить DBCC CHECKDB с параметром REPAIR_ALLOW_DATA_LOSS (перед запуском желательно сделать копию файлов базы данных). DBCC CHECKDB ('<имя базы>',REPAIR_ALLOW_DATA_LOSS) После выполнения DBCC CHECKDB нужно не забыть вернуться в нормальный режим (выйти из режима "single user"): sp_dboption '<имя базы>','single user',false Переиндексацию базы данных на MS SQL не нужно делать так часто, как в случае с DBF-версией 1С:Предприятия (например, при аварийном завершении работы пользователя). MS SQL автоматически поддерживает индексы в актуальном состоянии. Пересоздавать индексы имеет смысл в одном из следующих случаев: 1) Индекс физически поврежден. Это случается довольно редко и для восстановления нужно использовать вышеупомянутый DBCC CHECKDB. 2) Страницы индекса сильно фрагментированы и требуется их упорядочить. 3) Нужно изменить степень заполнения индексных страниц (fill factor). 4) Требуется изменить тип индекса (кластерный/некластерный). При использовании 1С это обычно неактуально. Для пересоздания индексов следует воспользоваться командой: DBCC DBREINDEX ('<имя таблицы>') или запустить хранимую процедуру, которая переиндексирует все таблицы в базе данных: EXEC _1sp_DBReindex |
|||
10
КонецЦикла
05.07.13
✎
08:39
|
(9) REPAIR_ALLOW_DATA_LOSS советуют на непрофильных форумах обычно :)
Кроме этого переиндексация не всегда помогает, бывает необходимость удалить индексы и создать заново (в этом ничего страшного если это некластерный индекс) Так что проблематичное падение - это, как правило, ручная работа (если занимается специалист, а не 1С-ник) Можно восстановить и поврежденные страницы, и данные взять из бэкапа (если модель симпл или нет бэкапов в цепочке) |
|||
11
Chai Nic
05.07.13
✎
08:40
|
Такое бывает практически в одном случае - при физическом сбое диска (или райд-массива). Может, бэдблоки есть. Рекомендую перед попыткой подключения скопировать файл еще куда-то..
|
|||
12
Chai Nic
05.07.13
✎
08:41
|
Ну и еще есть сторонние утилиты, вытаскивающие уцелевшую инфу из физически поврежденного mdf файла..
|
|||
13
ЧеловекДуши
05.07.13
✎
08:44
|
(10) Это у меня просто буклетик, и там разъяснение по поводу REPAIR_ALLOW_DATA_LOSS
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |