Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6]      все
 Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4903
Mind
komrad
как в SQLCoPilot, например -
https://sqlpadre.wordpress.com/2014/02/06/sql-copilota-software-review/
что то сайт то у них не открывается.


да, к сожалению, последний раз он откликался в октябре 2018
https://web.archive.org/web/2018*/www.sqlcopilot.com

странно, что у них произошло такого, чтобы сайт забросить
3 июл 19, 01:20    [21919536]     Ответить | Цитировать Сообщить модератору
 Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
uaggster
Member

Откуда:
Сообщений: 620
Sergey Syrovatchenko
Выложил версию 1.0.0.39:

Добавил возможность создавать индексы на основе информации из missing index
Мелкие улучшения в GUI

Сергей, если б в этом случае она показывала "почти синонимы", т.е. индексы, похожие на missing index, но отличающиеся includ'ом, или дополнительным "вторичным" полем в самом индексе - цены б ей не было.

Вообще, поиск синонимов и почти синонимов в индексах - был бы очень нужной штукой.
8 июл 19, 11:44    [21922544]     Ответить | Цитировать Сообщить модератору
 Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
Sergey Syrovatchenko
Member

Откуда: Харьков
Сообщений: 84
andy st
А можно еще показать свободное место на диске расположения файлов базы и логов?
Правда, придётся переделывать табличку, чтобы файлы и файловые группы прикрутить.

Пока не планирую такое добавлять, потому как тяжело понять как этим пользоваться. Если можете нарисовать примерный мокап с предлагаемым функционалом, то буду благодарен.

andy st
Ну и печалит невозможность сортировать по полю "selection". Типа сначала выбранные, потом остальные. Как по базам, так и по индексам.

Пробовал исправить, увы не получилось.

andy st
фишка: create index по missing опцию online=on игнорирует

Сделано. В следующем билде будет.
8 июл 19, 15:42    [21922812]     Ответить | Цитировать Сообщить модератору
 Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
Sergey Syrovatchenko
Member

Откуда: Харьков
Сообщений: 84
uaggster
если б в этом случае она показывала "почти синонимы", т.е. индексы, похожие на missing index, но отличающиеся includ'ом, или дополнительным "вторичным" полем в самом индексе - цены б ей не было.

Вообще, поиск синонимов и почти синонимов в индексах - был бы очень нужной штукой.

То есть хотелось бы видеть в общем списки дубликаты индексов? Если индексы по полям идентичны (порядок может различаться), то такое могу реализовать подстветкой.
8 июл 19, 15:45    [21922818]     Ответить | Цитировать Сообщить модератору
 Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2263
Sergey Syrovatchenko
uaggster
если б в этом случае она показывала "почти синонимы", т.е. индексы, похожие на missing index, но отличающиеся includ'ом, или дополнительным "вторичным" полем в самом индексе - цены б ей не было.

Вообще, поиск синонимов и почти синонимов в индексах - был бы очень нужной штукой.

То есть хотелось бы видеть в общем списки дубликаты индексов? Если индексы по полям идентичны (порядок может различаться), то такое могу реализовать подстветкой.
А что если поля одинаковые, а порядок разный то это дубликаты?

А что значит индексы отличаются дополнительным вторичным полем и что вам собственно это даст? Огласите все критерии похожести.
8 июл 19, 23:03    [21923113]     Ответить | Цитировать Сообщить модератору
 Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
uaggster
Member

Откуда:
Сообщений: 620
Mind
Sergey Syrovatchenko
пропущено...

То есть хотелось бы видеть в общем списки дубликаты индексов? Если индексы по полям идентичны (порядок может различаться), то такое могу реализовать подстветкой.
А что если поля одинаковые, а порядок разный то это дубликаты?

А что значит индексы отличаются дополнительным вторичным полем и что вам собственно это даст? Огласите все критерии похожести.

Хотелось бы видеть ситуации типа такой:
1. Полные синонимы (т.е. абсолютно идентичные индексы, дубликаты).
2. Синонимы, отличающиеся списком INCLUDE:
CREATE UNIQUE NONCLUSTERED INDEX [ix_I1] ON [dbo].[SCHET]
(
	[ID_SCHET] ASC
)
INCLUDE ( 	
	[CODE_O],
	[YEAR],
	[MONTH],
	[NSCHET],
	[DSCHET]
);

CREATE NONCLUSTERED INDEX [ix_I2] ON [dbo].[SCHET]
(
	[ID_SCHET] ASC
);

CREATE UNIQUE NONCLUSTERED INDEX [ix_I4] ON [dbo].[SCHET]
(
	[ID_SCHET] ASC
)
INCLUDE ( 	
	[CODE_O],
	[DATE_CONTRACT]
);

3. Частичные синонимы:
CREATE UNIQUE NONCLUSTERED INDEX [ix_I11] ON [dbo].[SCHET]
(
	[ID_SCHET] ASC,
	[CODE_O] ASC
)
INCLUDE ( 	
	[YEAR],
	[MONTH],
	[NSCHET],
	[DSCHET]
);

CREATE NONCLUSTERED INDEX [ix_I12] ON [dbo].[SCHET]
(
	[ID_SCHET] ASC
);

CREATE UNIQUE NONCLUSTERED INDEX [ix_I13] ON [dbo].[SCHET]
(
	[ID_SCHET] ASC
)
INCLUDE ( 	
	[CODE_O],
	[DATE_CONTRACT]
);

Эти 3 индекса могут быть заменены одним, без ущерба для производительности:
CREATE UNIQUE NONCLUSTERED INDEX [ix_I21] ON [dbo].[SCHET]
(
	[ID_SCHET] ASC,
	[CODE_O] ASC
)
INCLUDE ( 	
	[YEAR],
	[MONTH],
	[NSCHET],
	[DSCHET],
	[DATE_CONTRACT]
);

4. Ситуации, когда индексы, включая include, содержат одни и те же поля.
Я понимаю, что индексы:
CREATE UNIQUE NONCLUSTERED INDEX [ix_I1] ON [dbo].[SCHET]
(
	[ID_SCHET] ASC,
	[CODE_O] ASC
)
INCLUDE ( 	
	[YEAR],
	[MONTH],
	[NSCHET],
	[DSCHET]
) 

И:
CREATE UNIQUE NONCLUSTERED INDEX [ix_I1] ON [dbo].[SCHET]
(
	[CODE_O] ASC,
	[ID_SCHET] ASC
)
INCLUDE ( 	
	[YEAR],
	[MONTH],
	[NSCHET],
	[DSCHET]
) 

- существенно неэквивалентны в общем случае.
Но об их существовании - мне бы хотелось знать. Потому что в частном конкретном случае - они могут оказаться еще как эквивалентны.

Нечто подобное умеет sp_Blitz, но "настоящая" утилита - была бы полезной.
9 июл 19, 09:42    [21923221]     Ответить | Цитировать Сообщить модератору
 Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
Sergey Syrovatchenko
Member

Откуда: Харьков
Сообщений: 84
uaggster
Хотелось бы видеть ситуации типа такой:

Такое сделать можно. Я даже за. Какого типа разукрашки хотели бы видеть в каждом из описанных случаев?
Если развивать тему, то можно выделять индексы которые не используются вообще (при условии что другие индексы в рамках таблицы используются).

Главное тут понимать как показывать о проблеме. Думаю можно в имени индекса показывать иконку восклицания + тултип.
9 июл 19, 11:31    [21923289]     Ответить | Цитировать Сообщить модератору
 Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
uaggster
Member

Откуда:
Сообщений: 620
Разумеется, 1 ситуация - это красный уровень, 2 - оранжевый, 3 - желтый, а четвертая - не знаю, серый какой-нибудь.
И парно (эээ... N-но) подсвечиваться, при наведении или выделении.
И какой-нибудь одновременный просмотр определения, с подсветкой различий.
Сам рефакторинг, и тем паче - автоматический рефакторинг, конечно, не нужен. Только обнаружение.

Я, прошу прощения, это, конечно, возможно, не тема данной утилиты, просто наболело.
У меня больше полусотни разных баз на куче серверов.
Ситуация когда "внезапно" выясняется, что база вдруг раздулась неприлично, или быстродействие на каких либо заливках - упало - чуть ли не ежедневно проявляется.
Новый мальчик (девочка) у разработчиков -> новый отчет -> куча новых индексов. Такая обычная цепочка.
Я понимаю, что такие проблемы решаются чисто административно, в смысле "бумажно-административно", методом расстреляния нерадивых, но, к сожалению, не могу довести эту прогрессивную методику до промышленного внедрения. Разработчики очень возражают.
Поэтому какой-нибудь дашборд, который индицировал бы ситуацию "вот тут новое говно, неотличимое от старого" - очень нужно.
По крайней мере, чтоб я мог отдать его молодым обезьянкам, чтобы скинуть эту проблему со своего старого обезьяньего хвоста.

Идея с "совсем не используемыми индексами" - она, конечно, замечательна, но нужно тогда, чтобы приложение куда-то засасывало статистику использования индексов, и хранило между перезапусками сервера.
Ну и типа порог срабатывания: "оповещать после квартала неиспользования" (настраиваемо).

Я прощу прощения за некоторую эмоциональность. Просто как в том анекдоте: "...И прошу прощения за неровный почерк, потому что даже прямо сейчас..."
9 июл 19, 13:17    [21923389]     Ответить | Цитировать Сообщить модератору
 Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
Sergey Syrovatchenko
Member

Откуда: Харьков
Сообщений: 84
uaggster, сделаем :)

Мне идея понравилась. Как быстро получится пока гарантировать не смогу, но будет.
Сейчас новым тулом начал заниматься, который откладывал более двух лет.
11 июл 19, 09:43    [21924553]     Ответить | Цитировать Сообщить модератору
 Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
Sergey Syrovatchenko
Member

Откуда: Харьков
Сообщений: 84
uaggster
Поэтому какой-нибудь дашборд, который индицировал бы ситуацию "вот тут новое говно, неотличимое от старого" - очень нужно.

Могу лишь предложить посмотреть на бесплатный аналог от RedGate:
https://www.red-gate.com/products/dlm/dlm-dashboard/
11 июл 19, 09:45    [21924561]     Ответить | Цитировать Сообщить модератору
 Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
Sergey Syrovatchenko
Member

Откуда: Харьков
Сообщений: 84
Выложил версию 1.0.0.42:

  • Не генерировалась опция ONLINE для missing index
  • При выборе операции в лукапе и последующей сортировке по любому столбцу выделялась не та строка для которой делалось действие
  • Добавил возможность фильтрации не только по именам обьектов, но и по маске %
  • Исправил проблему с DevExpress из-за чего у многих не собирался проект

    Картинка с другого сайта.

    andy st
    фишка: create index по missing опцию online=on игнорирует

    Исправлено

    uaggster
    Хотелось бы видеть ситуации типа такой:
    1. Полные синонимы (т.е. абсолютно идентичные индексы, дубликаты).
    2. Синонимы, отличающиеся списком INCLUDE:

    Планирую на следующий билд
  • 17 июл 19, 13:28    [21928518]     Ответить | Цитировать Сообщить модератору
     Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
    архивариус
    Member

    Откуда:
    Сообщений: 132
    Спасибо за утилиту.
    Побуду тестером:
    1.
    Два таймаута на 2 табличках в 2 базах из 20 баз идентичных (разные типы компрессий, и размер) при анализе (сервер не шустрый, может из за него):
    Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

    Ничего примечательного в этих таблицах кроме 5 и 6 млрд. row, точно такая же табличка в другой базе, но 1,7 млрд. row без таймаута. Размер небольшой, меньше 10 GB. Эти три базы CSA (ColumnStoreArchive clustered).

    2.
    [ 15:54:28.514 ] Elapsed time: 00:00:00:443. Pre-descibe: 0. Post-describe: 2

    наверное r пропущено

    3.
    Select Databases не настраивается/изменяется размер окна, занимает половину высоты окошка 1920х1080.
    imho, либо resize возможность хотелось бы, либо не половину, а всю высоту окна занимать?
    17 июл 19, 16:26    [21928747]     Ответить | Цитировать Сообщить модератору
     Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
    архивариус
    Member

    Откуда:
    Сообщений: 132
    архивариус
    1.

    вопрос снимается, увидел настройку таймаута.
    17 июл 19, 17:23    [21928805]     Ответить | Цитировать Сообщить модератору
     Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
    Sergey Syrovatchenko
    Member

    Откуда: Харьков
    Сообщений: 84
    Выложил версию 1.0.0.43:

  • Исправил ошибку Arithmetic overflow error for data type tinyint, когда у таблицы более 255 столбцов (смешно, но факт)
  • В режиме совместиности с 2000-х на 2008R2 из-за опций ARITHABORT/NUMERIC_ROUNDABORT падал запрос с XQuery
  • Теперь не игнорим при сканировании ошибки выполнения
  • Увеличили дефолтные значения для максимального размера индекса и execution timeout
  • Добавили возможность менять размер окна при выборе базы

    uaggster
    Вообще, поиск синонимов и почти синонимов в индексах - был бы очень нужной штукой.

    В процессе.

    архивариус
    Побуду тестером:

    Что мог исправил. Спасибо за отзыв.
  • 17 июл 19, 20:03    [21928889]     Ответить | Цитировать Сообщить модератору
     Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
    Sergey Syrovatchenko
    Member

    Откуда: Харьков
    Сообщений: 84
    Выложил версию 1.0.0.44:

  • Исправил ошибку, которая возникала от того что в базе есть офлайн файловые группы
  • Исправил проблему с неверным отображением поля Index Columns
  • Добавил функционалось по визуализации дублирующих индексов

    Картинка с другого сайта.

    uaggster
    Хотелось бы видеть ситуации типа такой:
    1. Полные синонимы (т.е. абсолютно идентичные индексы, дубликаты).
    2. Синонимы, отличающиеся списком INCLUDE:
    3. Частичные синонимы:
    Эти 3 индекса могут быть заменены одним, без ущерба для производительности:
    4. Ситуации, когда индексы, включая include, содержат одни и те же поля.

    Чуток решил упростить, но надеюсь будет норм по юзабельности. Там еще пара багов осталась в визуализации так что сорри. Спешил.
  • 19 июл 19, 15:31    [21930372]     Ответить | Цитировать Сообщить модератору
     Re: SQL Index Manager - бесплатная утилита по обслуживанию индексов для SQL Server и Azure  [new]
    Sergey Syrovatchenko
    Member

    Откуда: Харьков
    Сообщений: 84
    Выложил версию 1.0.0.45:

  • Исправил ошибки при определении дубликатов в индексах
  • 19 июл 19, 16:54    [21930501]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6]      все
    Все форумы / Microsoft SQL Server Ответить