powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Принудительное отключение триггера
21 сообщений из 46, страница 2 из 2
Принудительное отключение триггера
    #39965059
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
invm
пропущено...
А вероятность дедлока при изменении "на лету" процедур или функций гораздо ниже?
Раз в 50-100, ИМХО.



Чем измеряли?
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965060
Нестандартное мышление
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

Циркулем))
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965089
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
L_argo
пропущено...
Раз в 50-100, ИМХО.


Чем измеряли?
Многолетним опытом. Была у меня БД с неск.тыс.ХП. За много лет были единичные случаи, когда ХП не накатывалась из-за блокировки. А накатывали ежедневно сотнями ХП.
В то время в другом проекте была БД с триггерами. Накат триггера на работающий прод приводил к дедлоку не менее, чем в половине случаев.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965097
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbcc opentran

и убивайте сеанс.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965110
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo,

Вы путаете дедлок и блокировку.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965116
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm
L_argo,
Вы путаете дедлок и блокировку.
Не путаю. Случайно написал так. Везде дедлоки.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965118
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
invm
L_argo,
Вы путаете дедлок и блокировку.
Не путаю. Случайно написал так. Везде дедлоки.


странно - вариант блокировки мне тоже понятен
идет апдейт на таблице - триггер занят - ждем пока освободится
а дедлок тут причем ?
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965121
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а дедлок тут причем ?Дедлок, в отличие от простой блокировки сам не отпустит.
Хотя у скуля есть механизм, который дропает одно из дедлочных соединений, но это происходит не всегда.
Мы тут обсуждаем блокировки, которые сами не проходят.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965126
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
а дедлок тут причем ?
Дедлок, в отличие от простой блокировки сам не отпустит.
Хотя у скуля есть механизм, который дропает одно из дедлочных соединений, но это происходит не всегда.
Мы тут обсуждаем блокировки, которые сами не проходят.Не надо фантазировать. Дедлок -- это такая взаимоблокировка, которая приводит к дропу одного из запросов с соответствующим текстом ошибок. И с настройками сессии, которые позволяют выбирать, кого дропать.

Бесконечная блокировка -- это не делок, это бесконечная блокировка.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965128
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич
Бесконечная блокировка -- это не делок, это бесконечная блокировка.
Бесконечная блокировка -- это дедлок, не определяемый сервером как дедлок. Наверное так?
Иначе что это за бесконечная блокировка такая?
L_argo про них и пишет.

Обычная блокировка не является проблемой для заливки процедур/триггеров, рано или поздно она кончится. Дедлок (официальные) тоже.
А вот дедлок, который сервером не опознан, очевидно, проблема.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965133
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
Иначе что это за бесконечная блокировка такая?
Открыл транзакцию, заблокировал ресурс и уехал в отпуск на пол года - вот такая вот, например. Тоже долго сама не пройдет.

Дедлок -- это именно цилклическая (и, вследствие, не разрешимая без внешнего вмешательства блокировка). И именно цикличность определяет дедлок, а не продолжительность. Мне вот не очевидно из сообщения, что L_argo их не путает.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965137
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
а дедлок тут причем ?
Дедлок, в отличие от простой блокировки сам не отпустит.
Хотя у скуля есть механизм, который дропает одно из дедлочных соединений, но это происходит не всегда.
Мы тут обсуждаем блокировки, которые сами не проходят.

Не пора ли уже

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
DISABLE TRIGGER ....; 
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965138
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
Не путаю. Случайно написал так. Везде дедлоки.
Чтобы при накате триггеров получить дедлок на DDL, нужно в транзакции выполнить не менее 2-х разных create/alter trigger.
У вас именно так делалось?
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965141
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm
L_argo
Не путаю. Случайно написал так. Везде дедлоки.
Чтобы при накате триггеров получить дедлок на DDL, нужно в транзакции выполнить не менее 2-х разных create/alter trigger.
У вас именно так делалось?
В целом, при наличии "правильного" ddl-триггера можно и с одним alter устроить.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965186
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin
Не пора ли уже
ТС надёжнее поступил, снёс базу :-)
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965281
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич
В целом, при наличии "правильного" ddl-триггера можно и с одним alter устроить.
Безусловно.
Но этот вариант не рассматриваю, ибо в этом случае в сообщении об ошибке будет фигурировать имя этого триггера.
И после этого утверждать о накате триггеров как источнике дедлоков - было бы совсем глупо.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965359
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какая разница, дедлок или бесконечная блокировка ?
Результат в данном случае одинаков: надо грохать один из процессов.
Поэтому следует по возможности избегать триггеров.

Кстати похожую проблему наблюдал с Truncate table. Проще и надежнее делать delete, если строк не много.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965367
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
А какая разница, дедлок или бесконечная блокировка ?
Результат в данном случае одинаков: надо грохать один из процессов.
Поэтому следует по возможности избегать триггеров.
Такого аргумента от триггерофобов я еще не слышал. Заношу в свой список :)

Создание/изменение триггера или выполнения truncate требует Sch-M на таблицу, т.к. это DDL. И именно на этом ожидании виснет. И это не дедлок.
Согласно вашей теории любые модификации схемы таблиц, создание индексов, констрейнтов и т.д. также должны быть объявлены злом и запрещены к использованию, ибо также требуют Sch-M.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965374
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСогласно вашей теории любые модификации схемы таблиц, создание индексов, констрейнтов и т.д. также должны быть объявлены злом и запрещены к использованию, ибо также требуют Sch-M. Как-то не сталкивался с блокировками во время создания индексов. Но думаю, что бывают.

Констрейнты тоже зло. :)
Все что блокирует схему - в какой-то степени зло.
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965385
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo,

какой же цели, по Вашему мнению, служат блокировки и для чего их ввели в систему?
...
Рейтинг: 0 / 0
Принудительное отключение триггера
    #39965431
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
L_argo,

какой же цели, по Вашему мнению, служат блокировки и для чего их ввели в систему?


Что бы жизнь сахаром не казалась

PS Обсуждение давно ушло в сторону от темы. Пора закруглять...
PPS Триггеры - ништяк! Но бывает и ж0п@
...
Рейтинг: 0 / 0
21 сообщений из 46, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Принудительное отключение триггера
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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