Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Хранимая процедура пожирает все ресурсы :'-( / 13 сообщений из 13, страница 1 из 1
01.11.2002, 10:46:56
    #32063886
user13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
SQL Server 2000; 2xP-III 800

Есть некая хранимая процедура - Сальдо. При выполнении этой процедуры - процессоры загружены под 100% При этом другие пользователи работать с БД не могут (ни выборку не сделать, ни запись вставить в справочник) -подвисают нафиг!
В sp Сальдо никаких блокировок нет, просто перелопачивается большое кол-во данных.

Вопрос: Можно ли ограничить ресурсы для этой sp??? Т.е. отдать ей, например, 70% ресурсов, а остальные пустить на нужды нормальных юзеров???
...
Рейтинг: 0 / 0
01.11.2002, 11:27:22
    #32063913
fima
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
А может процедуру лучше оптимизировать... просто про ограничение на процедуру я не слышал...
...
Рейтинг: 0 / 0
01.11.2002, 11:43:39
    #32063925
user13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
Да оптимизировано по максимуму все! :((( Вместо 5 часов, теперь работает 30 мин. Но на эти 30 мин. вся работа останавливается!
Как-то же все-таки должна нагрузка регулироваться!!!
...
Рейтинг: 0 / 0
01.11.2002, 12:08:42
    #32063935
bittle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
а что делает эта самая процедура? при обычном "перелопачивании" данных никаких замираний происходить не должно 8) - но с другой стороны MSSQL самостоятельно распределяет ресурсы системы для всех объектов (в т.ч. и для ХП), но не что не мешает переопределить их вручную. С чем-то подобным когда-то сталкивались - дык если сильно надо можно "порыть" (но опять же процедура может сама блокировать работу - не плохо было б на нее взглянуть)
...
Рейтинг: 0 / 0
01.11.2002, 12:09:33
    #32063936
fima
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
Возможно я ошибаюсь, но по моему нет ограничений на процессор или память для сессии. Поэтому могу посоветовать, еще оптимизировать запросы данные и т.д. Хотя может на многопроцессорном можно... Если не прав поправьте...
...
Рейтинг: 0 / 0
01.11.2002, 13:57:50
    #32064032
dao
dao
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
навярняка работаете с курсором?
...
Рейтинг: 0 / 0
01.11.2002, 14:23:06
    #32064054
AAron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
а может есть смысл выгружать данные на время пересчета в отдельную бд, в которой нет протоколирования (simple model)... там считать, а затем загржать в рабочую версию БД?
...
Рейтинг: 0 / 0
01.11.2002, 14:26:21
    #32064060
VVG_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
Попробуйте OPTION (MAXDOP 1) для особо продолжительных запросов использовать - освободите один процессор. :)
...
Рейтинг: 0 / 0
01.11.2002, 15:32:58
    #32064133
Oleg F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
MS SQL Server - это вам не Oracle, где можно ресурсы ограничивать уже более 10 лет. Если эта хранимая процедура "Сальдо" так тормозит сервер и если она вызывается только раз в день, то стоит подумать о том, чтобы вызывать её по расписанию после рабочего дня или ночью. А если она вызывается чаще и обязательно в течение рабочего дня, то значит её надо разбивать на несколько мелких хранимых процедур и запускать их по очереди. Будет хотя бы ясно, в каком месте тормоза.
...
Рейтинг: 0 / 0
01.11.2002, 16:14:33
    #32064156
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
Как вариант: инсталлируете экземпляр SQL Server'а, на котором только сальдо и считаете.
Собственно, базу можно как linked server прикрутить или репликацию наладить. Ну а на
процесс в Windows можно квоты накладывать по ресурсам...

Шутка, конечно. Если серьезно, Вы не задумывались, почему такая проблема только у Вас
возникла? Видимо, дизайн базы не совсем удачен.
...
Рейтинг: 0 / 0
01.11.2002, 18:50:10
    #32064223
Гнездин Петр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
"перелопачивается" - это считывается или записывается? Если считывается и допустимы "грязные чтения" - попробуйте добавить к имени каждой таблицы в запросе хинт with(nolock)
...
Рейтинг: 0 / 0
01.11.2002, 19:44:47
    #32064244
Andrey ...
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
DAO:
А курсоры, что, действительно могут сожрать все ресурсы процессора (и поможет ли замена курсоров на циклы)?

jimmers:
Эта проблема не только у user13

Гнездин Петр:
Бывает, что никаких блокировок нет, но процессор загружен под 100% и в это время никто другой не может работать

Профессионалы! Разъясните ситуацию!
...
Рейтинг: 0 / 0
04.11.2002, 13:07:04
    #32064506
LOX____
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранимая процедура пожирает все ресурсы :'-(
Только, что решил проблему.
Пимерно тодже.

Короче.

Сделал курсор динамик, а в курсоре при вызове хп
begin tran
а после
commit или roll - в зависимости от результата.

Но при вызове основной хп - стояли тоже транзакции -убрал.
Короче в транзакциях - обработка конкретной записи и только , конечно если это для вас подойдет.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Хранимая процедура пожирает все ресурсы :'-( / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]