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

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

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

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

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

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

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

Короче.

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

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


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