SQL Server 2005 тупиковая ситуация - PullRequest
2 голосов
/ 25 июня 2009
  1. Каковы возможные ситуации, которые приводят к возникновению взаимоблокировки на сервере SQL?
  2. Как решить эту ситуацию?

Ответы [ 2 ]

0 голосов
/ 25 июня 2009

Действительно простое объяснение, когда происходит Dead Lock (когда я ошибся, извините, я не администратор базы данных :)):

Обе транзакции выполняются параллельно

Транзакция 1

Выбрать * Из Таблицы1 Выберите * из таблицы2

Транзакция 2

Выбрать * Из таблицы2 Выбрать * из таблицы1

T1 ожидает Table2, а T2 ждет Table1

Одной из оптимизаций является выполнение операторов SQL в том же порядке. В MSSQL Sever есть опция с nolock, но там у вас есть множество несоответствующих данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...