У меня есть задание по переиндексации в плане обслуживания, которое я запускаю для каждой таблицы в данной базе данных в 3 часа ночи, поэтому это не прерывает выполнение других работ.
Однако он не работает и сообщает, что причина - в тупиковой ситуации с таблицами - как я могу определить, что заблокировало другие таблицы?
Включены ли флаги трассировки тупика (1222 и т. Д.)? Это даст вам дамп тупиковой ситуации в файле ERRORLOG SQL Server (обычно в каталоге журналов) и, таким образом, должен помочь вам разобраться в этом. Видеть http://msdn.microsoft.com/en-us/library/ms178104(v=SQL.90).aspx Больше подробностей.
Его можно включить для текущей службы с помощью DBCC TRACEON (-1, 1222)
. Однако, если вы хотите, чтобы флаг трассировки был постоянным изменением, вам необходимо поместить флаг трассировки в параметры запуска SQL Server (-T1222
), а затем остановите и перезапустите SQL Server.
Вы также можете создать задание агента, которое фиксирует график тупиков. видеть: http://msdn.microsoft.com/en-us/library/ms186385%28v=SQL.90%29.aspx