powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / REORGANIZE индекса блокирует inserts?
12 сообщений из 12, страница 1 из 1
REORGANIZE индекса блокирует inserts?
    #39646090
valv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,

Microsoft SQL Server 2016 (SP1) Standard Edition.

недавно возникла проблема: при reorganize дефрагментации индекса таблицы [a] блокируются вставки в таблицу [b].
(таблицы связаны: [b] имеет внешний ключ к [a]; размер таблицы [a] 280GB/380M rows)

reorganize, не rebuild.
до этого я полагал, что reorganize ничего не блокирует.

как временное решение, параллельно с дефрагментацией запустил скрипт,
который ежесекундно проверяет, не блокирует ли дефрагментация другой процесс,
(и убивает блокирующий процесс если [wait_time] > 25 sec).
Код: sql
1.
2.
3.
	SELECT  *
	FROM sys.dm_exec_requests
	WHERE blocking_session_id = @defrag_proc_session_id 


обнаружилось, что да, блокирует:
Код: sql
1.
2.
wait_type = LCK_M_SCH_M
wait_resource = METADATA: database_id = 16 STATS(object_id = 933578364, stats_id = 4), lockPartitionId = 0


object_id = 933578364, stats_id = 4 нашлись в таблице sys.stats. это собственно дефрагментируемый индекс.

не сталкивался ли кто-нибудь с подобной проблемой?
как вернуть нормальное поведение, чтобы reorganize ничего не блокировал?
(rebuild применить невозможно, потому что online=on не работает в Standard Edition).
спасибо.
...
Рейтинг: 0 / 0
REORGANIZE индекса блокирует inserts?
    #39646094
AlanDenton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Глупый вопрос. Зачем Вам вообще делать reorganize индекса? Что вы хотите этим достичь?
...
Рейтинг: 0 / 0
REORGANIZE индекса блокирует inserts?
    #39646095
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разрешить асинхронный апдейт статистики на базе?
...
Рейтинг: 0 / 0
REORGANIZE индекса блокирует inserts?
    #39646106
valv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей АлексеевичРазрешить асинхронный апдейт статистики на базе?
на данный момент установки БД такие:
Код: sql
1.
2.
3.
4.
auto create incremental statistics = false
auto create statistics = true
auto update statistics = true
auto update statistics asynchronously = true

поможет ли, если и "auto create incremental statistics" = true?

не могли бы вы объяснить, или кинуть ссылку на документацию, в чём связь блокировок и апдейта статистики?
спасибо
...
Рейтинг: 0 / 0
REORGANIZE индекса блокирует inserts?
    #39646115
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valvкак вернуть нормальное поведение, чтобы reorganize ничего не блокировал?Как по-вашему можно модифицировать страницы данных/индекса не накладывая блокировок?
...
Рейтинг: 0 / 0
REORGANIZE индекса блокирует inserts?
    #39646119
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valv,
Я правильно понял, что вы хотите, чтобы работа с объектом не блокировала определение объекта в схеме?
...
Рейтинг: 0 / 0
REORGANIZE индекса блокирует inserts?
    #39646120
AlanDenton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlanDentonГлупый вопрос
Ладно :) нет желания отвечать, то скажу сам. Смысла в реорганайзе не вижу на большой таблице. Хотите чтобы быстрее отрабатывало - секционирование + реорганайз (либо ребилд) по секциям. Да блокировки будут, но работать будет быстрее. Плюс: от реорганайза инфы в лог пишеться больше, чем при ребилде
...
Рейтинг: 0 / 0
REORGANIZE индекса блокирует inserts?
    #39646127
valv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invmvalvкак вернуть нормальное поведение, чтобы reorganize ничего не блокировал?Как по-вашему можно модифицировать страницы данных/индекса не накладывая блокировок?
проблема не в краткосрочных блокировках на несколько милисекунд, которые естественно возникают при перемещениее страниц.
проблема в длительных блокировках, которые превышают timeout выделенный для операции вставки.
в нашем случае, это 30 секунд.
...
Рейтинг: 0 / 0
REORGANIZE индекса блокирует inserts?
    #39646134
valv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.Евгенийvalv,
Я правильно понял, что вы хотите, чтобы работа с объектом не блокировала определение объекта в схеме?
если вы имеету ввиду schema stability lock, то нет, это не мешает.
проблема в длительных блокировках, которые возникают из-за reorganize индекса.
...
Рейтинг: 0 / 0
REORGANIZE индекса блокирует inserts?
    #39646135
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valvinvmпропущено...
Как по-вашему можно модифицировать страницы данных/индекса не накладывая блокировок?
проблема не в краткосрочных блокировках на несколько милисекунд, которые естественно возникают при перемещениее страниц.
проблема в длительных блокировках, которые превышают timeout выделенный для операции вставки.
в нашем случае, это 30 секунд.набор слов
...
Рейтинг: 0 / 0
REORGANIZE индекса блокирует inserts?
    #39646195
0wl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0wl
Гость
valv
Код: sql
1.
2.
3.
	SELECT  *
	FROM sys.dm_exec_requests
	WHERE blocking_session_id = @defrag_proc_session_id 




Сдается мне, @defrag_proc_session_id сам кого-то ждет. И если это так, тут не спасет ни реорганайз, ни онлайн-ребилд (если бы даже можно было), ни асинхронный пересчет статистик. Просто надо стараться не запускать долгих запросов одновременно с обслуживанием.
...
Рейтинг: 0 / 0
REORGANIZE индекса блокирует inserts?
    #39646316
valv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0wlvalv
Код: sql
1.
2.
3.
	SELECT  *
	FROM sys.dm_exec_requests
	WHERE blocking_session_id = @defrag_proc_session_id 





Сдается мне, @defrag_proc_session_id сам кого-то ждет. И если это так, тут не спасет ни реорганайз, ни онлайн-ребилд (если бы даже можно было), ни асинхронный пересчет статистик. спасибо за идею, я добавил логирование всех блокированных и блокирующих процессов.

0wlПросто надо стараться не запускать долгих запросов одновременно с обслуживанием.к сожалению, 24/7, без возможности остановки.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / REORGANIZE индекса блокирует inserts?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]