Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
ssms
Member

Откуда:
Сообщений: 143
Приветствую.

Подскажите пожалуйста, в каких случаях может блокироваться эта таблица?

(например, реорганизация индекса, вставка данных в пользовательскую таблицу и т.п.)
8 май 18, 14:47    [21395999]     Ответить | Цитировать Сообщить модератору
 Re: В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
ssms
Member

Откуда:
Сообщений: 143
Проблема в том, что когда она заблокирована не идет выборка, например, из sys.partitions.
8 май 18, 14:49    [21396007]     Ответить | Цитировать Сообщить модератору
 Re: В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36893
read uncommitted? нет, не слышал.
8 май 18, 14:53    [21396023]     Ответить | Цитировать Сообщить модератору
 Re: В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
ssms
Member

Откуда:
Сообщений: 143
Гавриленко Сергей Алексеевич
read uncommitted? нет, не слышал.


К сожалению, невозможно, т.к. запросы из стороннего приложения
8 май 18, 14:58    [21396047]     Ответить | Цитировать Сообщить модератору
 Re: В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36893
ssms
Гавриленко Сергей Алексеевич
read uncommitted? нет, не слышал.


К сожалению, невозможно, т.к. запросы из стороннего приложения
Обратитесь уже к разработчику ваше приложения.
8 май 18, 14:59    [21396051]     Ответить | Цитировать Сообщить модератору
 Re: В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
ssms
Member

Откуда:
Сообщений: 143
Гавриленко Сергей Алексеевич
ssms
пропущено...


К сожалению, невозможно, т.к. запросы из стороннего приложения
Обратитесь уже к разработчику ваше приложения.


Видимо придется.


Пока хочется выяснить это:
ssms
Подскажите пожалуйста, в каких случаях может блокироваться эта таблица?
(например, реорганизация индекса, вставка данных в пользовательскую таблицу и т.п.)
8 май 18, 15:04    [21396067]     Ответить | Цитировать Сообщить модератору
 Re: В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36893
ssms,

Кто ж вам это скажет? Настройте трассу Extended Event и мониторьте, в каких.
8 май 18, 15:07    [21396078]     Ответить | Цитировать Сообщить модератору
 Re: В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
ssms
Member

Откуда:
Сообщений: 143
Гавриленко Сергей Алексеевич
ssms,

Кто ж вам это скажет? Настройте трассу Extended Event и мониторьте, в каких.


Возможно из личного опыта кто-то поделится информацией.
8 май 18, 15:14    [21396095]     Ответить | Цитировать Сообщить модератору
 Re: В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
ssms
Гавриленко Сергей Алексеевич
ssms,

Кто ж вам это скажет? Настройте трассу Extended Event и мониторьте, в каких.


Возможно из личного опыта кто-то поделится информацией.

Таки да. Криворукие индусы ухитрились даже в свежем 2017-м сделать гадость.
Например, "However, if you attempt to create a database using a non-default collation, the CREATE database fails with a deadlock on sys.sysschobj, in the middle of a DQS transaction". Ссылка для чтения
8 май 18, 15:22    [21396119]     Ответить | Цитировать Сообщить модератору
 Re: В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
ssms
Member

Откуда:
Сообщений: 143
Andy_OLAP
ssms
пропущено...


Возможно из личного опыта кто-то поделится информацией.

Таки да. Криворукие индусы ухитрились даже в свежем 2017-м сделать гадость.
Например, "However, if you attempt to create a database using a non-default collation, the CREATE database fails with a deadlock on sys.sysschobj, in the middle of a DQS transaction". Ссылка для чтения


Жесть...

Пока сталкивался на блокировках при:

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

Хотел выяснить нормально ли это.
8 май 18, 15:31    [21396149]     Ответить | Цитировать Сообщить модератору
 Re: В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
ssms
Хотел выяснить нормально ли это.

Ой-вей, молодой человек, что есть норма в наше время...

Как говорили в старину - "разрабатывайте код таким образом, словно поддерживать его будет садист-психопат, который знает Ваш домашний адрес". Принимайте за норму, что в любом месте Вашего ПО и в любой момент прилетит deadlock, будет разрушение базы, пойдут ошибки оперативной памяти, перегреется процессор, рассохнутся конденсаторы на материнской плате, оборвется сетевой шнурок до дискового хранилища с SQL базой. И так далее.
Вопрос не в том, прилетит или не прилетит. Прилетит. 100%. Вопрос ширше и глубже (как говорил Михаил Сергеевич со Ставрополья) - Вы готовы обрабатывать ошибки особым кодом или нет. И полетит ли сообщение по email в адрес DBA, что в базе что-то пошло не так, как планировали.
8 май 18, 15:36    [21396173]     Ответить | Цитировать Сообщить модератору
 Re: В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
ssms
Member

Откуда:
Сообщений: 143
Andy_OLAP
ssms
Хотел выяснить нормально ли это.

Ой-вей, молодой человек, что есть норма в наше время...

Как говорили в старину - "разрабатывайте код таким образом, словно поддерживать его будет садист-психопат, который знает Ваш домашний адрес". Принимайте за норму, что в любом месте Вашего ПО и в любой момент прилетит deadlock, будет разрушение базы, пойдут ошибки оперативной памяти, перегреется процессор, рассохнутся конденсаторы на материнской плате, оборвется сетевой шнурок до дискового хранилища с SQL базой. И так далее.
Вопрос не в том, прилетит или не прилетит. Прилетит. 100%. Вопрос ширше и глубже (как говорил Михаил Сергеевич со Ставрополья) - Вы готовы обрабатывать ошибки особым кодом или нет. И полетит ли сообщение по email в адрес DBA, что в базе что-то пошло не так, как планировали.



Это да.

У меня на данный момент более узкая проблема.

Для бэкапирования используется утилита от IBM (TSM DP for SQL).

Которая бэкапит БД.


Так, как выяснилось, перед бэкапом лога она делает проверки запросами из системных таблиц.
Эти запросы повисают на блокировке и висят, например при создании индекса или реорганизации индекса.
При этом до самого бэкапа лога дело не доходит.
Лог не очищается и переполняется.

Думаю как с этим можно бороться.
8 май 18, 15:44    [21396206]     Ответить | Цитировать Сообщить модератору
 Re: В каких случаях блокируется системная таблица sys.sysschobjs ?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36893
Отказаться от утилиты, отказать от ребилдов, ну, на крайний случай, отстреливать все коннекты, которые мешают делать бэкап.
8 май 18, 15:49    [21396225]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить