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

Откуда: Рудный Алтай
Сообщений: 89
Всем здравствуйте.
Проблема следующая.
В связи с снижением быстродействия выполнения запросов в среде Dynamics AX на БД в СУБД MS SQL 2008 R2, решили провести профилактические работы, а именно - перестроить индекс.
Пользователей отключили, включили следующий запрос:

USE dbname
GO
sp_msforeachtable N’DBCC DBREINDEX (‘’?’’)’

Выполняется более 2х часов, возникло подозрение на дэдблок.

sp_who2
возвращает:

73 SUSPENDED dbname DBCC 1712515 (CPUtime) 5063054 (DISK I/O)
13 дек 11, 15:00    [11756962]     Ответить | Цитировать Сообщить модератору
 Re: Зависший запрос. Дэдблок с участием одного пользователя.  [new]
Glory
Member

Откуда:
Сообщений: 104751
Antony GL
Выполняется более 2х часов, возникло подозрение на дэдблок.

deadlock сервер разрешает автоматически в течении нескольких секунд

suspended - The session is waiting for an event, such as I/O, to complete.
13 дек 11, 15:07    [11757048]     Ответить | Цитировать Сообщить модератору
 Re: Зависший запрос. Дэдблок с участием одного пользователя.  [new]
Antony GL
Member

Откуда: Рудный Алтай
Сообщений: 89
БД рабочая, объемом ~40 Гб, тут просто все немного нервничают...

в Мониторе активности есть записи следующего типа:
73 1 домен\администратор bd_work SUSPENDED DBCC Среда Microsoft SQL Server Management Studio - запрос 8868 CXPACKET exchangeEvent id=Port80146200 WaitType=e_waitPortOpen nodeId=1 73 16 SGM-AX6 default

73 1 домен\администратор bd_work SUSPENDED DBCC Среда Microsoft SQL Server Management Studio - запрос 2 PAGEIOLATCH_SH 9:1:3047806 16 SGM-AX6 default

Как-нибудь можно проверить, есть ли дэдлоки, или нет? Регулярно делаю Kill системным пользователям от программы, пытающимся получить доступ к таблице (беру значения из sp_who2)
13 дек 11, 15:13    [11757123]     Ответить | Цитировать Сообщить модератору
 Re: Зависший запрос. Дэдблок с участием одного пользователя.  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Зачем kill делать постоянно? не проще в single_user перевести ?
13 дек 11, 15:14    [11757142]     Ответить | Цитировать Сообщить модератору
 Re: Зависший запрос. Дэдблок с участием одного пользователя.  [new]
Glory
Member

Откуда:
Сообщений: 104751
CXPACKET - это параллелизм
PAGEIOLATCH_SH - это диски тормозят
13 дек 11, 15:17    [11757164]     Ответить | Цитировать Сообщить модератору
 Re: Зависший запрос. Дэдблок с участием одного пользователя.  [new]
Antony GL
Member

Откуда: Рудный Алтай
Сообщений: 89
если в SSMS выбрать свойство базы данных
"не удается вывести требуемое диалоговое окно"->"свойство Size недоступно"

можно ли сделать во время выполнения этого запрос запрос на Single_mode?

ALTER DATABASE DBname SET SINGLE_USER

и нужны ли какие-либо прилюдии перед этим?
13 дек 11, 15:20    [11757203]     Ответить | Цитировать Сообщить модератору
 Re: Зависший запрос. Дэдблок с участием одного пользователя.  [new]
Antony GL
Member

Откуда: Рудный Алтай
Сообщений: 89
Antony GL

ALTER DATABASE DBname SET SINGLE_USER

и нужны ли какие-либо прилюдии перед этим?


В такой конструкции запрос запустился (на тестовой базе) и завис с фразой "выполняется".
13 дек 11, 15:42    [11757451]     Ответить | Цитировать Сообщить модератору
 Re: Зависший запрос. Дэдблок с участием одного пользователя.  [new]
Antony GL
Member

Откуда: Рудный Алтай
Сообщений: 89
Antony GL

USE dbname
GO
sp_msforeachtable N’DBCC DBREINDEX (‘’?’’)’



сильно надеюсь, что выполнится за ночь.
13 дек 11, 15:44    [11757466]     Ответить | Цитировать Сообщить модератору
 Re: Зависший запрос. Дэдблок с участием одного пользователя.  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Antony GL
Antony GL
USE dbname
GO
sp_msforeachtable N’DBCC DBREINDEX (‘’?’’)’



сильно надеюсь, что выполнится за ночь.


теперь можете отслеживать sp_who2, что бы жилось спокойнее :)
13 дек 11, 15:47    [11757506]     Ответить | Цитировать Сообщить модератору
 Re: Зависший запрос. Дэдблок с участием одного пользователя.  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
А вообще, это делается в технологические окна (такие есть по ночам) ?

Создается план обслуживания и вперед. А то только индексация это тоже не все.
А как у Вас со статистикой ?
13 дек 11, 15:49    [11757536]     Ответить | Цитировать Сообщить модератору
 Re: Зависший запрос. Дэдблок с участием одного пользователя.  [new]
Antony GL
Member

Откуда: Рудный Алтай
Сообщений: 89
Ozerov,

статистику обновляли, эээ, давно. Еще предыдущий человек этим занимался. План обслуживания отсутствует.
Запрос на обновление статистики думаю или в эту ночь поставить, или к выходным ближе.

По теме: запрос-таки выполнился за 3.5 часа, чему я был очень рад.
14 дек 11, 13:13    [11763436]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить