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

Откуда:
Сообщений: 41
Добрый день. Ситуация такая:
Есть приложение которое работает с sql server 2008 R2. С недавнего времени перестало открываться одно очень важное окно в приложении. Но стоит реиндекснуть таблицу в которой содержится информация, с которыми работает это окно (тут скорее всего я не так выражаюсь) - все становиться нормально, но на некоторое время. В чем может быть причина происходящего? Я совершенно не знаю куда копать, помогите пожалуйста.
16 фев 15, 11:43    [17270207]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Glory
Member

Откуда:
Сообщений: 104751
Нарим
В чем может быть причина происходящего?

Плохой код, который выполняет плохой запрос и даже не удосуживается сообщить пользователю об этом.

Нарим
Я совершенно не знаю куда копать, помогите пожалуйста.

Исправлять программу. Или ствавить "реиндекснуть таблицу" в ежедневное расписание

Сообщение было отредактировано: 16 фев 15, 11:45
16 фев 15, 11:45    [17270227]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
реиндекснутая таблица
Guest
Нарим,

открывайте профайлер и смотрите, что отправляет приложение (какой запрос или вызов какой ХП) при открытии этого "одно очень важное окно"
16 фев 15, 11:49    [17270262]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Нарим
Member

Откуда:
Сообщений: 41
Glory, дело в том, что у меня есть рядом такая же база, и с ней это окно не зависает.

автор
открывайте профайлер и смотрите, что отправляет приложение (какой запрос или вызов какой ХП) при открытии этого "одно очень важное окно"


А какие события фильтровать ? Я уже запускал, там несколько хранимок и куча запросов, но может я не то фильтрую.
16 фев 15, 11:56    [17270344]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Нарим
Member

Откуда:
Сообщений: 41
Glory, такая же, я имею ввиду копия.
16 фев 15, 11:57    [17270353]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Glory
Member

Откуда:
Сообщений: 104751
Нарим
Glory, дело в том, что у меня есть рядом такая же база, и с ней это окно не зависает.

А сервер тут причем ? Он что ли это окно открывает ?
16 фев 15, 11:58    [17270362]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
реиндекснутая таблица
Guest
Нарим,

на duration смотри
16 фев 15, 12:00    [17270381]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Нарим
Member

Откуда:
Сообщений: 41
Glory, ну я так понимаю хранимка какая-то долго отрабатывает.
16 фев 15, 12:04    [17270407]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Glory
Member

Откуда:
Сообщений: 104751
Нарим
Glory, ну я так понимаю хранимка какая-то долго отрабатывает.

Откуда вы это "понимаете" ?
16 фев 15, 12:05    [17270419]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Нарим
Member

Откуда:
Сообщений: 41
Glory, посмотрел в профайлер, но видимо не то фильтровал. Сейчас шаблоном стандарт посмотрел, у одной хранимки гигантское количество Read - вот ее текст:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[PATP_GetOrderDataForBuffer]
(@Or_Id INT, @Day_Num VARCHAR(100) = '')
AS
	SET NOCOUNT ON
	
	DECLARE @ODD_ID TABLE (ODD_ID INT, OD_ID INT)
	
	
	IF ISNULL(@Day_Num, '') = ''
	BEGIN
	    INSERT INTO @ODD_ID
	    SELECT b.id,
	           a.id
	    FROM   PATP_OrderData a
	           INNER LOOP JOIN PATP_OrderDataDay b
	                ON  a.id = b.order_data_id
	    WHERE  a.order_id = @Or_Id
	END
	ELSE
	    INSERT INTO @ODD_ID
	    SELECT b.id,
	           a.id
	    FROM   PATP_OrderData a
	           INNER LOOP JOIN PATP_OrderDataDay b
	                ON  a.id = b.order_data_id
	    WHERE  a.order_id = @Or_Id
	           AND @Day_Num LIKE('%-' + CAST(day_num AS VARCHAR(2)) + '-%')	
	
	
	
	
	
	SELECT a.id,
	       b.id AS ODD_id,
	       a.mList_id,
	       a.personnel_id,
	       b.day_num,
	       b.start_time,
	       b.start_control_time,
	       b.end_time,
	       c.id AS OrderDayTypeID,
	       c.name AS FullNameTextWork,
	       CASE 
	            WHEN g.Id IS NULL OR (g.Id IS NOT NULL AND l.Id IS NOT NULL) THEN 
	                 c.short_name
	            ELSE CAST('' AS VARCHAR(8))
	       END AS ShortNameTextWork,
	       c.color AS BrushColor,
	       e.name AS MarshrutName,
	       a.trans_id AS IDTransport,
	       f.Garag_Number,
	       f.Gos_Number,
	       c.is_control,
	       g.ord AS Graph_Num,
	       c.smena_num,
	       k.Position_id,
	       c.is_work_time
	FROM   @ODD_ID oddid
	       INNER JOIN PATP_OrderData a
	            ON  a.id = oddid.OD_ID
	       INNER JOIN PATP_OrderDataDay b
	            ON  oddid.ODD_ID = b.id
	       LEFT JOIN PATP_OrderDayType c
	            ON  b.order_day_type = c.id
	       LEFT JOIN PATP_MarshrutList d
	            ON  a.mList_id = d.id
	       LEFT JOIN vwMarshruts e
	            ON  d.Marshrut_id = e.id
	       LEFT JOIN vwTransport f
	            ON  a.trans_id = f.id
	       LEFT JOIN PATP_ScheduleGraphic g
	            ON  b.graph_id = g.id
	       LEFT JOIN vwPersonnel k
	            ON  a.personnel_id = k.id
	       LEFT JOIN vwShift l
	            ON  g.Id = l.SchedGraphId
	            AND c.is_control = 1
	            AND c.is_work_time = 1
	            AND c.smena_num = l.ShiftNo
	ORDER BY
	       a.personnel_id,
	       b.start_time
16 фев 15, 16:02    [17272374]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Glory
Member

Откуда:
Сообщений: 104751
Нарим
вот ее текст:

И где в этом тексте открытие окна на клиенте ?
16 фев 15, 16:04    [17272397]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Нарим
Member

Откуда:
Сообщений: 41
Glory, не могу знать, товарищ начальник. Я нажал на кнопку в приложении и увидел эту функцию эту в профайлере. Просто очень трудно искать, когда не знаешь что ищешь. Для чистоты эксперимента могу тоже самое проделать на "без проблемной" базе.
16 фев 15, 16:15    [17272507]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Glory
Member

Откуда:
Сообщений: 104751
Нарим
Glory, не могу знать, товарищ начальник.

Правильный ответ - нигде.
Потому, что окна на дисплеи рисует приложение, а не сервер.
16 фев 15, 16:22    [17272553]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Нарим
Member

Откуда:
Сообщений: 41
Glory, или вы имели ввиду код самого приложения ? Так у меня его нет.
16 фев 15, 16:22    [17272554]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Glory
Member

Откуда:
Сообщений: 104751
Нарим
Glory, или вы имели ввиду код самого приложения ? Так у меня его нет.

Вы предлагаете серверу найти этот код ? И исправить его ?
16 фев 15, 16:25    [17272580]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Нарим
Member

Откуда:
Сообщений: 41
Glory, да я не предлагаю, я не знаю что делать. Пот
16 фев 15, 16:32    [17272632]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Нарим
Member

Откуда:
Сообщений: 41
Попытаться выяснить почему одно и тоже приложение по разному работает с двумя копиями базы.
16 фев 15, 16:33    [17272642]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Konst_One
Member

Откуда:
Сообщений: 11625
ну вам же предложили джля начала профайлер запустить и посмотреть , что и как ваше приложение делает. а дальше уже думайте
16 фев 15, 16:33    [17272649]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Glory
Member

Откуда:
Сообщений: 104751
Нарим
Glory, да я не предлагаю, я не знаю что делать. Пот

Убедиться, что ожидание отрисовки окна связано с ожиданием окончания процедуры.
Если да, то выяснять причину такого большого времени выполнения процедуры.
16 фев 15, 16:34    [17272655]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Нарим
Member

Откуда:
Сообщений: 41
Glory,
автор
выяснять причину такого большого времени выполнения процедуры

И с чего начать ? Потому что я почти уверен, что зависит. Я боюсь приложение меня раньше выкинет с ошибкой, прежде чем там что-то отрисуется.
Konst_One, да я запустил, из странного увидел только эту хранимку, что выше. Опять же повторюсь, вероятно я не те события отлавливал.
16 фев 15, 16:40    [17272703]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Glory
Member

Откуда:
Сообщений: 104751
Нарим
И с чего начать ?

С мониторинга текущих соединение сервера в момент "перестало открываться одно очень важное окно"

Нарим
Я боюсь приложение меня раньше выкинет с ошибкой, прежде чем там что-то отрисуется.

А вы что до этого не пытались дождаться какого-то сообщения ?
16 фев 15, 16:47    [17272733]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3695
1) Зачем явно указывать Loop?
2) Странное сравнение на день, чем DatePart(day, ... ) не устроил?
3) Сделайте EXEC sp_recompile N'PATP_OrderData';
16 фев 15, 16:55    [17272791]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Нарим
Member

Откуда:
Сообщений: 41
Glory,
А вы что до этого не пытались дождаться какого-то сообщения ?

Если честно, нет. Ну выдало бы мне окошко типа "истекло время ожидания", не слишком информативно на мой взгляд. Когда все хорошо, окошко открывается секунд за 20.

1) Зачем явно указывать Loop?
2) Странное сравнение на день, чем DatePart(day, ... ) не устроил?

Запрос не мой, я только разместил объяву.

Сейчас посмотрел, окно опять не отрывалось, сделал:
3) Сделайте EXEC sp_recompile N'PATP_OrderData';

все стало нормально.
16 фев 15, 19:19    [17273482]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
реиндекснутая таблица
Guest
Нарим
Сейчас посмотрел, окно опять не отрывалось, сделал:
3) Сделайте EXEC sp_recompile N'PATP_OrderData';

все стало нормально.

добавь в процедуру with recompile
16 фев 15, 20:12    [17273691]     Ответить | Цитировать Сообщить модератору
 Re: Странности с приложением  [new]
Нарим
Member

Откуда:
Сообщений: 41
Я сравнил две базы данных, ту которая рабочая и мою боевую. Оказывается там было много измменений в сторед процедурах. Синхронизировал sql compare - сейчас полет нормальный. Всем спасибо за ответы.
17 фев 15, 11:43    [17275474]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить