|
Не работает перестроение индексов 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
|
(2) Скрипт
http://www.gilev.ru/dbreindex/ |
|||
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
|
Очень помогли
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |