Имя: Пароль:
1C
1С v8
Не работает перестроение индексов sql для базы 1с
,
0 MAPATNK2
 
naïve
02.07.18
10:08
Добрый день, посдкажите пожалуйста, месяц назад перестал выполняться план обслуживания, после долгих поисков выяснилось, что перестроение индекса в 1 из баз не выполняется, (выполняется вечно не завершаясь).
В чем может быть проблема? Т.к. задание не завершается в логах ничего нет и в журнале тоже. Все базы перестаривают индекс, именно рабочая не хочет. Sql 2016
1 MAPATNK2
 
naïve
02.07.18
10:09
База Упп весит не более 3 ГБ
2 MAPATNK2
 
naïve
02.07.18
10:13
Работало больше года, вдруг перестало. Может можно как-то проверить почему не работает перестроение, скрипт, отчет. Может есть у кого готовый скрипт для перестроения индекса. Сам боюсь по материалам открытых источников писать, не системный администратор, опыта с SQL ещё мало, вдруг что повредится.
3 Галахад
 
гуру
02.07.18
10:21
Хм. 3 ГБ, может просто забить? При таком размере разница, наверное незаметна.
4 Сияющий в темноте
 
02.07.18
10:23
А потом вырастет,и огребут проблем
никогда не следует оставлять проблемы на завтра

вопрос-а нигде времени исполнения не указывается?
5 MAPATNK2
 
naïve
02.07.18
10:26
(4) нет, т.к. если добавить в план обслуживание перестроение индекса, то план вообще перестает выполнятся. Я вывел перестроение индекса в отдельный подплан, попробовал запустить вручную, перестроение выполняется, если в нем не указана база УПП, при добавлении базы УПП в задание, оно так же перестает выполнятся.
6 MAPATNK2
 
naïve
02.07.18
10:31
В задание возможно посмотреть скрипт, хотел скопировать и вставить в T-SQL. Но формирование скрипта продолжается бесконечно.
7 Сияющий в темноте
 
02.07.18
10:35
Если он не формирует скрипт,то он ждет от кого-то завершения обращения к базе,возможно,где то подвисло внесение изменений в таблицы.
Как бы,напрашивается,закрыть все соединения этой базе и повторить попытку.Причем,вполне вероятно,что висит какой-то из предыдущих скриптов.
8 1sanekmaloi1
 
02.07.18
10:48
ТИИ сделай.
9 ptiz
 
02.07.18
10:56
10 ADirks
 
02.07.18
10:58
Вот тут есть всё что надо:  https://ola.hallengren.com
11 MAPATNK2
 
naïve
02.07.18
11:23
(9) Не пашет скрипт
12 MAPATNK2
 
naïve
02.07.18
11:23
(10) А есть где попонятней объяснено. Опыта работы нет с SQL
13 MAPATNK2
 
naïve
02.07.18
11:38
Есть какой нибудь готовый проверенный скрипт? SQL 2016
14 MAPATNK2
 
naïve
02.07.18
11:40
(7) Он никогда не формировался, даже на 2008 даже на 2014 на разных базах, на разных ОС.
15 Галахад
 
гуру
02.07.18
11:43
(13) Возьми из своего плана обслуживания.
Нажми на кнопку "просмотр t-sql" и выполни его в консоли. Возможно там увидишь ошибку.
16 MAPATNK2
 
naïve
02.07.18
12:30
(15) Он не формируется. Уже писал выше.
17 ADirks
 
02.07.18
12:40
(14) Готовый и проверенный - это как раз у Олы.

1. Скачиваешь https://ola.hallengren.com/scripts/MaintenanceSolution.sql

2. Запускаешь этот скрипт в MSSMS, с активной базой, в которой хочешь создать таблички и SPшки. Часто это всё сваливают в msdb, но я создаю отдельную базу для всяких логов, и называю её Monitor

3. Для проверки запускаешь
exec [Monitor].[dbo].[IndexOptimize]
    @Databases = '',  --здесь список баз, ч/з запятую
    @MaxDOP = 2,
    @FragmentationLow = NULL,
    @FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
    @FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
    @FragmentationLevel1 = 5,
    @FragmentationLevel2 = 30,
    @UpdateStatistics = 'ALL',
    @OnlyModifiedStatistics = 'Y',
    @LogToTable = 'Y'


4. Если всё хорошо, запихиваешь это в job

5. Периодически, ради интереса, посмтриваешь в табличку CommandLog - что оно там наребилдило и апдейтнуло.
18 ADirks
 
02.07.18
12:44
Почитать можно например http://catalog.mista.ru/public/256292/
Там тоже есть подобный скрипт, можно его взять, попробовать
19 MAPATNK2
 
naïve
02.07.18
12:56
(17) Спасибо, но совсем не понятно что это и как этим пользоваться. Скачал, запустил, что дальше делать с этим?
20 MAPATNK2
 
naïve
02.07.18
12:56
(17) Где выполнять эти команды
21 ADirks
 
02.07.18
13:14
(20) в Microsoft SQL Server Management Studio
22 MAPATNK2
 
naïve
02.07.18
13:20
(21) Скачал, запустил, скрипт отработал, он в мастер запихал что нужно, потом я  выполнил процедуру

exec [master].[dbo].[IndexOptimize]
    @Databases = '[UPP]',  --здесь список баз, ч/з запятую
    @MaxDOP = 2,
    @FragmentationLow = NULL,
    @FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
    @FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
    @FragmentationLevel1 = 5,
    @FragmentationLevel2 = 30,
    @UpdateStatistics = 'ALL',
    @OnlyModifiedStatistics = 'Y',
    @LogToTable = 'Y'


в ответ получил


Date and time: 2018-07-02 15:18:52
Server: WIN-9PMOB5DBGIK
Version: 12.0.2000.8
Edition: Enterprise Edition (64-bit)
Platform: Windows
Procedure: [master].[dbo].[IndexOptimize]
Parameters: @Databases = '[UPP]', много всего


Version: 2018-06-27 20:44:12
Source: https://ola.hallengren.com

Date and time: 2018-07-02 15:18:52
Database: [UPP]
Status: ONLINE
Standby: No
Updateability: READ_WRITE
User access: MULTI_USER
Is accessible: Yes
Recovery model: SIMPLE

Date and time: 2018-07-02 15:19:41
23 MAPATNK2
 
naïve
02.07.18
13:20
[dbo].[CommandLog] пустая
24 MAPATNK2
 
naïve
02.07.18
13:29
(21) Вопрос, эти функции без моего ведома, т.е. как регламентыне задания выполняться не будут? Это просто готовые функции, которые можно вызвать в любое время?
25 ADirks
 
02.07.18
13:47
если в Messages повылазило куча сообщений типа
Date and time: 2018-07-02 17:40:33
Command: UPDATE STATISTICS [SK].[dbo].[_1SCONST] [PK__1SCONST]
Outcome: Succeeded
Duration: 00:00:00
Date and time: 2018-07-02 17:40:33

значит, скрипт отработал. Почему пусто в логах - не знаю


Да, это функции, для использования их в job'ах.  Ну и так просто можно, руками.

Джоб там тоже создался, но без расписания. Правда, он зачем-то через sqlcmd команду запускает, так что я его выкинул, и свой сделал.
26 ADirks
 
02.07.18
13:50
(22) А вот в master не надо бы ничего запихивать. Она не для этого.
В msdb ещё куда ни шло.  Но, повторяюсь, лучше отдельную базу создать, не системную.
27 ADirks
 
02.07.18
13:57
(22)+  Кстати, если лог пустой, то значит ничего не перестраивалось, т.к. нет необходимости. Собственно, в этом и фишка подобных скриптов, что они не всё подряд обмолачивают, а только те индексы/статистики, которые перешли определенный порог фрагментации / неактуальности.
28 MAPATNK2
 
naïve
02.07.18
14:22
(27) Понял, спасибо большое.
29 MAPATNK2
 
naïve
02.07.18
14:22
Очень помогли
Программист всегда исправляет последнюю ошибку.