Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Lock request time out period exceeded.  [new]
LexMinsk
Member

Откуда: Republic of Belarus
Сообщений: 451
select @@version

Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)   Nov 24 2008 13:01:59   Copyright (c) 1988-2005 Microsoft Corporation  Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2) 

Есть у меня таблица Navigations, в которую раз в 5 сек. записываються данные о движении объектов. Вчера решил подкорректировать некоторые записи и запустил ХП перерасчета расхода топлива (там один UPDATE). Обновил около 100 тыс. записей за 11 минут. Соответственно в этот период времени у меня на данную таблицу наложилась блокировка Х и пару десятков записей в таблицу не добавились с ошибкой - Lock request time out period exceeded.
Уровень изоляции у меня READ COMMITED.

Вопрос: как сделать так, чтобы эта ошибка не возникала?
17 ноя 09, 11:17    [7937986]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
SET LOCK_TIMEOUT timeout_period
17 ноя 09, 11:20    [7938012]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Не может один UPDATE обновить только часть затрагиваемых записей
Это протироворечит здравому смыслу и принципам транзакции

А ошибка 1222 возникает при заданном SET LOCK_TIMEOUT
17 ноя 09, 11:21    [7938023]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
LexMinsk
Member

Откуда: Republic of Belarus
Сообщений: 451
Glory,
что тогда посоветуете? Увеличить время ожидания ? Или менять логику расчетов?
17 ноя 09, 11:32    [7938160]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
LexMinsk
Member

Откуда: Republic of Belarus
Сообщений: 451
select @@LOCK_TIMEOUT
-1
Это как я понимаю - ждать бесконечно?
17 ноя 09, 11:33    [7938178]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
Glory
Member

Откуда:
Сообщений: 104760
LexMinsk
Glory,
что тогда посоветуете? Увеличить время ожидания ? Или менять логику расчетов?

А не вы задавали текущее время ожидания ?
17 ноя 09, 11:33    [7938184]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
LexMinsk
Member

Откуда: Republic of Belarus
Сообщений: 451
Glory,
у меня по умолчанию -1 стояло.
17 ноя 09, 11:38    [7938246]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
Glory
Member

Откуда:
Сообщений: 104760
LexMinsk
Glory,
у меня по умолчанию -1 стояло.

Тогда бы не было сообщения Lock request time out period exceeded
17 ноя 09, 11:41    [7938278]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
LexMinsk
Member

Откуда: Republic of Belarus
Сообщений: 451
Glory,
ну хз, как тогда такое получилось, я ничего не менял. А кроме меня никто поменять и не мог.
17 ноя 09, 11:43    [7938308]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
Glory
Member

Откуда:
Сообщений: 104760
LexMinsk
Glory,
ну хз, как тогда такое получилось, я ничего не менял. А кроме меня никто поменять и не мог.

Не иначе враги прокрались ночью и поменяли
17 ноя 09, 11:45    [7938318]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
LexMinsk
Member

Откуда: Republic of Belarus
Сообщений: 451
Glory,
не надо подколов. С сервером работаю только я. Параметр LOCK_TIMEOUT как был -1 так и оставался.
17 ноя 09, 11:52    [7938395]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
Glory
Member

Откуда:
Сообщений: 104760
LexMinsk
Glory,
не надо подколов. С сервером работаю только я. Параметр LOCK_TIMEOUT как был -1 так и оставался.

Ну тогда раз даете честное пионерское, что вы не меняли, то остается только один вариант, что сервер сам себе поменял. Правда ведь ?
На программу там или других подумать будет кощунством или верхом неприличия.
А сервер - он бессловесный, его хоть в чем обвини, он в ответ ничего не скажет
17 ноя 09, 12:05    [7938530]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
LexMinsk
Member

Откуда: Republic of Belarus
Сообщений: 451
Glory,
а кроме как инструкцией SET LOCK_TIMEOUT timeout_period можно поменять время ожидания?
Вот мои настройки базы:
'CURSOR_CLOSE_ON_COMMIT OFF, ' +
'CURSOR_DEFAULT GLOBAL, ' +
'AUTO_CLOSE OFF, ' +
'AUTO_CREATE_STATISTICS ON, ' +
'AUTO_SHRINK OFF, ' +
'AUTO_UPDATE_STATISTICS ON, ' +
'AUTO_UPDATE_STATISTICS_ASYNC OFF, ' +
'ANSI_NULL_DEFAULT ON, ' +
'ANSI_NULLS ON, ' +
'ANSI_PADDING ON, ' +
'ANSI_WARNINGS OFF, ' +
'ARITHABORT OFF, ' +
'CONCAT_NULL_YIELDS_NULL ON, ' +
'NUMERIC_ROUNDABORT OFF, ' +
'QUOTED_IDENTIFIER OFF, ' +
'RECURSIVE_TRIGGERS OFF, ' +
'RECOVERY FULL, ' +
'TORN_PAGE_DETECTION OFF, ' +
'PAGE_VERIFY CHECKSUM '
'SET ALLOW_SNAPSHOT_ISOLATION ON'
'SET READ_COMMITTED_SNAPSHOT OFF'
17 ноя 09, 12:09    [7938575]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
Glory
Member

Откуда:
Сообщений: 104760
LexMinsk
Glory,
а кроме как инструкцией SET LOCK_TIMEOUT timeout_period можно поменять время ожидания?
Вот мои настройки базы:

Настройки базы никак не запретят клиентскому приложению использовать SET LOCK_TIMEOUT
А программисту не запретят поместить эту команду в процедуру
17 ноя 09, 12:14    [7938614]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
LexMinsk
Member

Откуда: Republic of Belarus
Сообщений: 451
Glory,
т.е. если в базе стоит значение "-1" например, а в клиенской программе в компоненте, который вызывает хранимку или в конекшене стоит допустим 15, то будет учитываться 15? я правильно понял?
17 ноя 09, 12:23    [7938705]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
Glory
Member

Откуда:
Сообщений: 104760
LexMinsk
Glory,
т.е. если в базе стоит значение "-1" например, а в клиенской программе в компоненте, который вызывает хранимку или в конекшене стоит допустим 15, то будет учитываться 15? я правильно понял?

Разумеется
17 ноя 09, 12:25    [7938725]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
LexMinsk
Member

Откуда: Republic of Belarus
Сообщений: 451
Glory, вот теперь все понятно. Спасибо.
17 ноя 09, 12:26    [7938738]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
Glory
Member

Откуда:
Сообщений: 104760
LexMinsk
Glory, вот теперь все понятно. Спасибо.

А какие тогда претензии насчет "не надо подколов" ?
17 ноя 09, 12:44    [7938968]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Lock request time out period exceeded.  [new]
assmsk
Member

Откуда:
Сообщений: 173
Апну тему:)

По данной теме столкнулся с такой же ошибкой , но и на сервере и на клиентском приложении стоит LOCK_TIMEOUT = -1.
Но возникает та же ошибка. Куда копать?:)
12 май 20, 17:15    [22131400]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
invm
Member

Откуда: Москва
Сообщений: 9241
assmsk
Куда копать?
В сторону выяснения кто и где устанавливает LOCK_TIMEOUT > -1
12 май 20, 17:24    [22131409]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
assmsk
Member

Откуда:
Сообщений: 173
invm, на сервере стоит -1. Клиентское приложение - SSMS. Подошел к человеку у которого возникает проблема, открыл настройки в них значение -1, через команду @@LOCK_TIMEOUT тоже -1, но при этом ошибка возникает. Не может же студия иметь одни параметры и в процессе работы их менять. Ошибка возникает когда когда пытаются развернуть список таблиц через обозреватель объектов.
12 май 20, 17:54    [22131432]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36826
assmsk,

А как вы заставили студию установить LOCK_TIMEOUT = -1 перед выполнением всех своих запросов?
И какие действия совершает человек, чтобы получить данную ошибку?

Сообщение было отредактировано: 12 май 20, 18:18
12 май 20, 18:18    [22131443]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31220
assmsk
Ошибка возникает когда когда пытаются развернуть список таблиц через обозреватель объектов.
Студия для запроса, показывающего список объектов, устанавливает небольшой таймаут.
Насколько я помню, изменить это нельзя.
assmsk
Не может же студия иметь одни параметры и в процессе работы их менять.
Параметры, которые вы меняли, относятся к командам из окна запросов. А другие запросы используют другие настройки (зашитые в коде студии).
12 май 20, 18:48    [22131461]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
assmsk
Member

Откуда:
Сообщений: 173
alexeyvg
assmsk
Ошибка возникает когда когда пытаются развернуть список таблиц через обозреватель объектов.
Студия для запроса, показывающего список объектов, устанавливает небольшой таймаут.
Насколько я помню, изменить это нельзя.

То есть если у конкретного человека возникает данная ошибка при просмотре объектов через обозреватель, то с этим вообще ничего поделать нельзя? Звучит подозрительно))

Сообщение было отредактировано: 12 май 20, 19:20
12 май 20, 19:19    [22131490]     Ответить | Цитировать Сообщить модератору
 Re: Lock request time out period exceeded.  [new]
invm
Member

Откуда: Москва
Сообщений: 9241
assmsk
То есть если у конкретного человека возникает данная ошибка при просмотре объектов через обозреватель, то с этим вообще ничего поделать нельзя?
Можно выяснить какой ресурс и кем заблокирован.
12 май 20, 19:56    [22131508]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить