|
Зависает база | ☑ | ||
---|---|---|---|---|
0
Лиза777
22.11.12
✎
07:17
|
1с8.2. Комплексная автоматизация 1.1.25.2. SQL.
При проведении документов зависает на долго. Запускаю тестирование с переиндексацией и проверкой ссылочной целостности. Переиндексацию делает, а на проверке целостности в какой-то момент экран становится белым и зависает всё. Не знаю что делать, подскажите? |
|||
1
Андрюха
22.11.12
✎
07:18
|
Сколько пользователей в базе?
|
|||
2
marty0701
22.11.12
✎
07:23
|
Белый экран - нормальное поведение системы, винда 7 ка одорила нас белыми экранами, которые так запугивают пользователей. Сотрите процесс, он там шевелится или нет вообще? Если жрет память и проц, может стоит дать шанс завершить проверку?
|
|||
3
golden-pack
22.11.12
✎
07:30
|
Переиндексацию делает, а на проверке целостности в какой-то момент экран становится белым и зависает всё. - там задача как бы монопольная. Из чего вывод что именно зависает ?
|
|||
4
golden-pack
22.11.12
✎
07:31
|
Сколько база весит гигов ?
|
|||
5
marty0701
22.11.12
✎
07:32
|
(3)Секретничает ТС) Выводы, основаны на опыте видения зависающих программ видимо)
|
|||
6
Лиза777
22.11.12
✎
07:40
|
(1) 4 пользователя
|
|||
7
Лиза777
22.11.12
✎
07:41
|
(2) процесс смотрела - признаков жизни не видно
|
|||
8
Лиза777
22.11.12
✎
07:41
|
(2) за ночь не заканчивается, хотя в другом филиале за полночи делается
|
|||
9
marty0701
22.11.12
✎
07:46
|
На (4) ответьте.
|
|||
10
marty0701
22.11.12
✎
07:47
|
И стандартно, выгрузите в ДТ, сделайте то же самое в файловом варианте, получиться, вариант?
|
|||
11
Лиза777
22.11.12
✎
12:53
|
(4) она у меня в sql, около 10 гигов
|
|||
12
ICWiner
22.11.12
✎
13:40
|
Маленькая... Партионка, небось, стоит? Замер производительности вас спасет и покажет тонкие места, если что-то самописное. Если нет - переходите на рауз.
|
|||
13
Лиза777
23.11.12
✎
04:16
|
выгрузила в файловую, сделала ТИИ - ошибки исправились, загрузила обратно в sql - тестирование опять висит на регистре "списанные товары".
|
|||
14
Лиза777
23.11.12
✎
04:44
|
(13) висит так как процесс не шевелится как видно в диспетчере задач, да и в строке состояния когда регистры проверяются пишется же процент выполнения, а тут просто написано, что по регистру "списанные товары", а процент выполнения так и не появляется
|
|||
15
Лиза777
23.11.12
✎
04:53
|
при проведении документов в базе всё висит и не проводится
|
|||
16
Alex6890
23.11.12
✎
05:53
|
Как вариант перенести SQL базу на отдельный сервер
|
|||
17
Лиза777
23.11.12
✎
08:00
|
(16) нет такой возможности
|
|||
18
Лиза777
24.11.12
✎
04:54
|
Интересно, выгрузила в файловую сделала chdbfl - ошибок не обнаружено, но после этого в файловой стали проводиться доки. А вот после её выгрузи в sql всё равно не проводятся :(
|
|||
19
Лиза777
02.12.12
✎
19:28
|
Люди!! подскажите есть ещё варианты кроме (16)? Все проблемы в этом регистре сведений "списанные товары" и тестирование на нём зависает и в обрабоке проведения зависает на строке ...СписанныеТовары.Выгрузить()...
Какой есть кардинальный метод? |
|||
20
zak555
02.12.12
✎
19:31
|
(19) больше кода покажи
|
|||
21
vde69
02.12.12
✎
19:37
|
(19) скорее всего или отбор не полный или какие-то поля неиндексированы
|
|||
22
Лиза777
02.12.12
✎
19:53
|
(20) стандартный код в модуле "реализации товаров и услуг":
УправлениеЗапасамиПартионныйУчет.ДвижениеПартийТоваров(Ссылка, Движения.СписанныеТовары.Выгрузить()); ///!!! Вот здесь всё заканчивается :( ДвиженияПоРегистрамРегл(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоТаре, ТаблицаПоУслугам, ТаблицаПоВзаиморасчетам, Отказ, Заголовок); ДвиженияПоРегистрамУСНРегл(РежимПроведения, СтруктураШапкиДокумента, Отказ, Заголовок); Если ТаблицаПоКомплектам.Найти(Перечисления.ТипыНоменклатуры.Комплект, "ТипНоменклатуры") <> Неопределено Тогда ДополнительныеСвойства.СтруктураТабличныхЧастей.Вставить("ТаблицаПоКомплектам",ТаблицаПоКомплектам); КонецЕсли; КонецПроцедуры // ДвиженияПоРегистрам() |
|||
23
Лиза777
02.12.12
✎
19:54
|
Причём я проверяла в таблице значений Движения.СписанныеТовары НОЛЬ строк
|
|||
24
vde69
02.12.12
✎
20:00
|
(22) сделай переиндексаю регистра средствами скуля и статистику обнови
|
|||
25
Лиза777
02.12.12
✎
20:03
|
(24) ух ты! я так не умею - надо будет почитать про это.
|
|||
26
MrStomak
02.12.12
✎
20:50
|
(25) Можно сделать неявно - измени порядок измерений, и сохрани базу данных, будет выполнена переиндексация. Статистика вообще тут не при чем.
|
|||
27
hhhh
02.12.12
✎
20:50
|
(25) ноль строк и должно быть - это они структуру таблицы передают.
|
|||
28
vde69
02.12.12
✎
23:28
|
(26) не скажи,скорость после реструктуризации без обновления статистики может быть в десятки раз хуже...
|
|||
29
Sorm
02.12.12
✎
23:51
|
(24) Смысл после реиндексации обновлять статистику?
(0)На вот тебе процедурину, по рекомендациям майкрософт перестраивает,реорганизует, обновляет индексы: DECLARE @SQL varchar(256), @DB_ID int; SET @DB_ID = (SELECT DB_ID()); DECLARE reindex CURSOR GLOBAL FAST_FORWARD READ_ONLY FOR SELECT 'ALTER INDEX ALL ON [' + OBJECT_NAME(afp.OBJECT_ID) + '] REBUILD WITH (SORT_IN_TEMPDB = ON);' AS [Инструкция T-SQL] FROM sys.dm_db_index_physical_stats (@DB_ID, NULL, NULL, NULL, 'SAMPLED') AS afp WHERE afp.database_id = @DB_ID AND afp.index_type_desc IN ('CLUSTERED INDEX') AND (afp.avg_fragmentation_in_percent >= 15 OR afp.avg_page_space_used_in_percent <= 60) AND afp.page_count > 12 UNION ALL SELECT [Инструкция T-SQL] = CASE WHEN afp.avg_fragmentation_in_percent >= 15 OR afp.avg_page_space_used_in_percent <= 60 THEN 'ALTER INDEX [' + i.name + '] ON [' + OBJECT_NAME(afp.OBJECT_ID) + '] REBUILD WITH (SORT_IN_TEMPDB = ON);' WHEN (afp.avg_fragmentation_in_percent < 15 AND afp.avg_fragmentation_in_percent >= 10) OR (afp.avg_page_space_used_in_percent > 60 AND afp.avg_page_space_used_in_percent < 75) THEN 'ALTER INDEX [' + i.name + '] ON [' + OBJECT_NAME(afp.OBJECT_ID) + '] REORGANIZE;' END FROM sys.dm_db_index_physical_stats (@DB_ID, NULL, NULL, NULL, 'SAMPLED') AS afp JOIN sys.indexes AS i ON (afp.OBJECT_ID = i.OBJECT_ID AND afp.index_id = i.index_id) AND afp.database_id = @DB_ID AND afp.index_type_desc IN ('NONCLUSTERED INDEX') AND ( (afp.avg_fragmentation_in_percent >= 10 AND afp.avg_fragmentation_in_percent < 15) OR (afp.avg_page_space_used_in_percent > 60 AND afp.avg_page_space_used_in_percent < 75) ) AND afp.page_count > 12 AND afp.OBJECT_ID NOT IN ( SELECT OBJECT_ID FROM sys.dm_db_index_physical_stats (@DB_ID, NULL, NULL, NULL, 'SAMPLED') WHERE database_id = @DB_ID AND index_type_desc IN ('CLUSTERED INDEX') AND (avg_fragmentation_in_percent >= 15 OR avg_page_space_used_in_percent < 60) AND page_count > 1 ) ORDER BY [Инструкция T-SQL] OPEN GLOBAL reindex WHILE 1 = 1 BEGIN FETCH reindex INTO @SQL IF @@fetch_status <> 0 BREAK --select @SQL EXEC(@SQL) PRINT @SQL END CLOSE GLOBAL reindex DEALLOCATE reindex |
|||
30
Sorm
02.12.12
✎
23:55
|
Что характерно, однажды у нас база 850 ГБ зависла на 1,5 часа при запросе, содержащем джойн двух таблиц - 200 тыс строк и 10(!) строк. ВО второй таблице была не обновлена статистика.
|
|||
31
Пеппи
03.12.12
✎
00:07
|
(30) 850 Гб ?
|
|||
32
Sorm
03.12.12
✎
00:14
|
(31) Ну, сейчас она уже за 1.2 Тб. Не 1С.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |