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

Откуда:
Сообщений: 34
Подскажите есть ли вообще в ms sql такое понятие как "очередь транзакций"? Где можно почитать про это и теорию, и как физически всё это реализовано?

Как можно узнать (померить) количество транзакций в очереди и время их простоя в очереди.
14 фев 06, 00:26    [2352305]     Ответить | Цитировать Сообщить модератору
 Re: Очередь транзакций  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Почитайте лучше вот это - https://www.sql.ru/articles/mssql/03102701TransactionLogSQL2K.shtml
14 фев 06, 06:37    [2352443]     Ответить | Цитировать Сообщить модератору
 Re: Очередь транзакций  [new]
sys1
Member

Откуда:
Сообщений: 34
Может быть это и лучше, но совсем не то что мне нужно :-) В журнал вроде не пишутся сведения об ожидании выполнения других транзакций и в таком духе ... На sql.ru я более-менее всё проглядел поиском по "транзакция", пока не нашёл (хотя рассылку за 5 лет ещё не осилил)

Есть ещё какие-нибудь варианты?
15 фев 06, 12:01    [2357915]     Ответить | Цитировать Сообщить модератору
 Re: Очередь транзакций  [new]
Стас Д
Member

Откуда:
Сообщений: 69
sys1
Может быть это и лучше, но совсем не то что мне нужно :-) В журнал вроде не пишутся сведения об ожидании выполнения других транзакций и в таком духе ... На sql.ru я более-менее всё проглядел поиском по "транзакция", пока не нашёл (хотя рассылку за 5 лет ещё не осилил)

Есть ещё какие-нибудь варианты?
Может имеется ввиду асинхронное выполнение запросов? Это возможно в 2005 сервере. А почитать можно на сайте rsdn.
15 фев 06, 12:15    [2357990]     Ответить | Цитировать Сообщить модератору
 Re: Очередь транзакций  [new]
Glory
Member

Откуда:
Сообщений: 104760
sys1
Может быть это и лучше, но совсем не то что мне нужно :-) В журнал вроде не пишутся сведения об ожидании выполнения других транзакций и в таком духе ... На sql.ru я более-менее всё проглядел поиском по "транзакция", пока не нашёл (хотя рассылку за 5 лет ещё не осилил)

Есть ещё какие-нибудь варианты?

Может быть вы имеете ввиду все таки очередность в которой разные коннекты получают доступ к объектам? Т.е. очередь блокировок ?
15 фев 06, 12:17    [2358001]     Ответить | Цитировать Сообщить модератору
 Re: Очередь транзакций  [new]
sys1
Member

Откуда:
Сообщений: 34
Нет асинхронное выполнение и очерёдность доступа к объктам это тоже не то.

Выполняется транзакция, она блокирует часть записей таблицы и что-то с ними делает. Начинается вторая транзакция, которой нужны эти же записи, она ждёт первую транзакцию. Далее третья транзакия тоже хочет изменить теже записи, ждёт вторую транзакцию и т.д ... Образуется как бы очердь транзакций.

Вот мне нужно в какой-то момент времени померить сколько транзакций простаивает в очереди. При этом неплохо бы знать с какой именно таблицей эти транзакции хотят работать (причину конфликта тоесть)

(может быть я всё нетак описываю - ламер, но смысл такой)
15 фев 06, 12:56    [2358277]     Ответить | Цитировать Сообщить модератору
 Re: Очередь транзакций  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Образуется как бы очердь транзакций.


Это не очередь транзакций - а ожидание снятия блокировки.

автор
Вот мне нужно в какой-то момент времени померить сколько транзакций простаивает в очереди. При этом неплохо бы знать с какой именно таблицей эти транзакции хотят работать (причину конфликта тоесть)


sp_who и sp_lock.

А так же: Блокировки в MS SQL Server 2000
15 фев 06, 12:58    [2358295]     Ответить | Цитировать Сообщить модератору
 Re: Очередь транзакций  [new]
Glory
Member

Откуда:
Сообщений: 104760
Блокирует не транзакция. Блокирует конкретный запрос.
Список блокировок есть в таблице syslocks
Список коннектов с информацией об ожидании ресурсов и о виновниках ожидания есть в таблице sysprocesses
15 фев 06, 13:01    [2358315]     Ответить | Цитировать Сообщить модератору
 Re: Очередь транзакций  [new]
sys1
Member

Откуда:
Сообщений: 34
Спасибо за ответы, буду изучать ...

Такой ещё вопрос. Select, например, выбирает данные из какой-то таблицы. Как померить/посмотреть время обращения базы к жесткому диску? (т.е. сколько милисекунд происходило считывание страниц данных из файла бд)
15 фев 06, 14:20    [2358931]     Ответить | Цитировать Сообщить модератору
 Re: Очередь транзакций  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
BOL->SET STATISTICS IO
15 фев 06, 14:24    [2358945]     Ответить | Цитировать Сообщить модератору
 Re: Очередь транзакций  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
sys1
Такой ещё вопрос. Select, например, выбирает данные из какой-то таблицы. Как померить/посмотреть время обращения базы к жесткому диску? (т.е. сколько милисекунд происходило считывание страниц данных из файла бд)
Включит, например, профилер и настроить его на этот запрос.
15 фев 06, 14:25    [2358949]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить