![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
lissoner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
Пол жизни за помощь. Задолбала она меня уже. Кто нить знает в чём причина?
Конфликт блокировок при выполнении транзакции: Microsoft OLE DB Provaider for SQL Server : lock request time out period exceeded. HRESULT=80040E31, SQLSTATE =HYT00 native=1222 по причине: Microsoft OLE DB provider for SQL Server lock request time out period exceeded. HRESULT=80040E31, SQLSTATE =HYT00 native=1222 подскажите пожалйста буду очень признателен.. |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Знаю... Блокировки сильные ставите, открываете dataset на долго и держите открытым, курсоры не закрываете или ещё чего-то...
Малехо посмотреть можно здесь: http://vingrad.ru/ART-DELPHI-002171 Кроме того, советы такие: 1. Поставить везде hint nolock где не требуется держать результат заблокированным:
2. Не вытаскивать селектом тех полей которые не нужны 3. Не вытаскивать много записей за раз 4. Не делать массивные Update/Delete которые затрагивают больше 1000 записей, если нужны - кусковать на несколько отдельных запросов 5. Играться индексами и кластерными индексами до тех пор пока запросы станут выполняться более или менее нормально, а не через задницу А вообще чтоб ответить на вопрос хотелось бы более или менее чётко понять что вы пишете, на каком языке, каким доступом и немного инфы по базае данных - размеры, количество одновременных пользователей... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
lissoner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
пользуемся 1с 8-версия размер базы 3гига кол-во ползователей 150 одновременно работают порядка 30-ти.
|
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Чего там 1c делает с сервером - понятия не имею, но скорее всего идёт речь о неоптимальных блокировках и запросах. Запустите профайлер и посмотрите какие запросы блокируют, посмотрите на блокировки - кто кого блокирует... Вообще такие вещи решать достаточно сложно, или вы должны взять умную книжку по программированию MS SQL Server (что-нибудь типа Роберта Вьейра) и внимательно проштудировать главы об индексах, блокировках, ключах, ограничениях и т.п. на что уйдёт в лучшем случае пара недель, или надо вызывать толкового DBA. На расстоянии очень трудно что-то решить, слишком много всего может происходить - от "сильных" блокировок до излишней фрагментации индексов, от нехватки места для tempdb до кривого железа...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
lissoner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
Вот с железом стопудяче ни каких проблем нет а на счёт tempdb тут такая вещь сколько обьём ему не задавай он всё съедает есть ли предел? принудительно поставил ему гиг (база 3гига) |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Этого может быть очень мало если данные меняются часто и идут массивные Update/Delete/Select. Советую начать смотреть с блокировок и запуска профайлера -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
lissoner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
вроде второй день ошибки нет увеличил tempdb до 2гиго и лог файл транзакций до гига
тфу.тфу.тфу чтобы не зглазить благодарствую Vit-у ![]() |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Бэкап организуй регулярный иначе лог транзакций будет расти неограниченно -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
ALKS |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 1 Всего: 11 |
ну чтоб лог транзакций не рос неограниченно можно поставить "trunc. log on chkpt." c помощью sp_dboption. но это понятное дело, зависит от нужд.
|
|||
|
||||
lissoner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
то есть это дело можно автоматизировть?
|
|||
|
||||
ALKS |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 1 Всего: 11 |
lissoner, автоматизировать можно что угодно. на то и DB Jobs
![]() |
|||
|
||||
lissoner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
Упёрся в то что нужно поставить "trunc. log on chkpt." c помощью sp_dboption
и recovery interval где найти эту опцию ? |
|||
|
||||
ALKS |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 1 Всего: 11 |
|
|||
|
||||
lissoner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
что именно писать то я понял ну вот где не догоняю.
|
|||
|
||||
lissoner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
А если это замутить через Jobs?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS SQL" | |
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS SQL Server | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |