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

Откуда:
Сообщений: 98
Доброе время суток всем. Есть хранимая процедура. Начало процедуры:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE proc1
	@p_Month INT,			-- Месяц
	@p_Year INT				-- Год
	
AS
DECLARE	@p INT

SET NOCOUNT, XACT_ABORT, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL ON
SET NUMERIC_ROUNDABORT, CURSOR_CLOSE_ON_COMMIT OFF

--SELECT @p_Month=5
--SELECT @p_Year=2009

IF @p_Month < 10
  SET @p=CAST((CAST(@p_Year AS VARCHAR) + '0' + CAST(@p_Month AS VARCHAR)) AS INT)
ELSE
  SET @p=CAST((CAST(@p_Year AS VARCHAR) + CAST(@p_Month AS VARCHAR)) AS INT)
Далее идет запрос (не важно какой). Суть в следующем. когда я запускаю хранимую процедуру, жду около 30 минут - потом отрубаю. Но когда я просто выполняю запрос, который идет в теле процедуры, он выполняется в течении 7 секунд. Начало запроса:
DECLARE	@p INT,
	@p_Month INT,			-- Месяц
	@p_Year INT				-- Год
	


SELECT @p_Month=5
SELECT @p_Year=2009

IF @p_Month < 10
  SET @p=CAST((CAST(@p_Year AS VARCHAR) + '0' + CAST(@p_Month AS VARCHAR)) AS INT)
ELSE
  SET @p=CAST((CAST(@p_Year AS VARCHAR) + CAST(@p_Month AS VARCHAR)) AS INT)
  

Далее сам запрос
Версия сервера "Microsoft SQL Server 2005 - 9.00.3042.00 (X64) Feb 10 2007 00:59:02 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Evaluation Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2) "
Вопрос, почему запрос выполняется, а хранимая процедура нет
15 июн 09, 10:07    [7298737]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
NightSkif

Далее идет запрос (не важно какой). Суть в следующем. когда я запускаю хранимую процедуру, жду около 30 минут - потом отрубаю. Но когда я просто выполняю запрос, который идет в теле процедуры, он выполняется в течении 7 секунд. Начало запроса:

И вы уже увидели в Профайлере какая строка вашей процедуры "ждет" ? И чего она ждет ?
15 июн 09, 10:24    [7298788]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
NightSkif
Member

Откуда:
Сообщений: 98
Glory
NightSkif

Далее идет запрос (не важно какой). Суть в следующем. когда я запускаю хранимую процедуру, жду около 30 минут - потом отрубаю. Но когда я просто выполняю запрос, который идет в теле процедуры, он выполняется в течении 7 секунд. Начало запроса:

И вы уже увидели в Профайлере какая строка вашей процедуры "ждет" ? И чего она ждет ?

Glory, в профайле только следующая информация
DECLARE	@return_value int

EXEC	@return_value = [EE].[RPT_Omnis_Insoft_Sravn_Skif1]
		@p_Month = 5,
		@p_Year = 2009

SELECT	'Return Value' = @return_value
15 июн 09, 10:50    [7298890]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
NightSkif

Glory, в профайле только следующая информация
DECLARE	@return_value int

EXEC	@return_value = [EE].[RPT_Omnis_Insoft_Sravn_Skif1]
		@p_Month = 5,
		@p_Year = 2009

SELECT	'Return Value' = @return_value

Т.е. команда SELECT 'Return Value' = @return_value выполнилась ?
15 июн 09, 10:54    [7298908]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
aleks2
Guest
>>(не важно какой)
Дык, наверное, неважно и сколько оно выполняется?
15 июн 09, 10:54    [7298912]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
NightSkif
Member

Откуда:
Сообщений: 98
автор

Т.е. команда SELECT 'Return Value' = @return_value выполнилась ?

Нет. Процедура до сих пор выполняется.
15 июн 09, 10:56    [7298933]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
NightSkif
Member

Откуда:
Сообщений: 98
aleks2
>>(не важно какой)
Дык, наверное, неважно и сколько оно выполняется?

Важно. Вопрос в том, почему запрос, который находится в теле процедуры, выполняется в течении 7 секунд, а сама процедура очень долго выполняется (окончания я так и не дождался)
15 июн 09, 10:58    [7298945]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
NightSkif
автор

Т.е. команда SELECT 'Return Value' = @return_value выполнилась ?

Нет. Процедура до сих пор выполняется.

Тогда как понять ваши слова "в профайле только следующая информация"
Как вы можете видеть в профайлере событие начала и завершения выполнения SELECT 'Return Value' = @return_value, если "Процедура до сих пор выполняется" ?
15 июн 09, 10:58    [7298946]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
aleks2
Guest
NightSkif
aleks2
>>(не важно какой)
Дык, наверное, неважно и сколько оно выполняется?

Важно. Вопрос в том, почему запрос, который находится в теле процедуры, выполняется в течении 7 секунд, а сама процедура очень долго выполняется (окончания я так и не дождался)


Дык могет не играть в Джеймса Бонда? А просто привести текст запроса и определения таблиц...
15 июн 09, 11:01    [7298957]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
NightSkif
Member

Откуда:
Сообщений: 98
Glory
NightSkif
автор

Т.е. команда SELECT 'Return Value' = @return_value выполнилась ?

Нет. Процедура до сих пор выполняется.

Тогда как понять ваши слова "в профайле только следующая информация"
Как вы можете видеть в профайлере событие начала и завершения выполнения SELECT 'Return Value' = @return_value, если "Процедура до сих пор выполняется" ?

Запустил профайл. ЗАпустил процедуру. В профайле те строчки, которые я Вам, Glory, указал. После этих строк записей нет. Шаблон профайла выбрал TSQL_Replay. Процедура до сих пор выполняется.
15 июн 09, 11:03    [7298967]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
NightSkif
Member

Откуда:
Сообщений: 98
aleks2
NightSkif
aleks2
>>(не важно какой)
Дык, наверное, неважно и сколько оно выполняется?

Важно. Вопрос в том, почему запрос, который находится в теле процедуры, выполняется в течении 7 секунд, а сама процедура очень долго выполняется (окончания я так и не дождался)


Дык могет не играть в Джеймса Бонда? А просто привести текст запроса и определения таблиц...

Запрос не мой. До автора не добраться. И будет довольно не этично опубликовать его запрос без его ведома.
15 июн 09, 11:04    [7298979]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
NightSkif
Glory
NightSkif
автор

Т.е. команда SELECT 'Return Value' = @return_value выполнилась ?

Нет. Процедура до сих пор выполняется.

Тогда как понять ваши слова "в профайле только следующая информация"
Как вы можете видеть в профайлере событие начала и завершения выполнения SELECT 'Return Value' = @return_value, если "Процедура до сих пор выполняется" ?

Запустил профайл. ЗАпустил процедуру. В профайле те строчки, которые я Вам, Glory, указал. После этих строк записей нет. Шаблон профайла выбрал TSQL_Replay. Процедура до сих пор выполняется.

Если выполнилась команда SELECT 'Return Value' = @return_value, то значит и процедура завершилась. Потому что чудес не бывает и все команды скрипта выполняются последовательно.
И почему TSQL_Replay ?

Сообщение было отредактировано: 15 июн 09, 11:07
15 июн 09, 11:05    [7298981]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
aleks2
Guest
NightSkif
aleks2
NightSkif
aleks2
>>(не важно какой)
Дык, наверное, неважно и сколько оно выполняется?

Важно. Вопрос в том, почему запрос, который находится в теле процедуры, выполняется в течении 7 секунд, а сама процедура очень долго выполняется (окончания я так и не дождался)


Дык могет не играть в Джеймса Бонда? А просто привести текст запроса и определения таблиц...

Запрос не мой. До автора не добраться. И будет довольно не этично опубликовать его запрос без его ведома.

Не ссы, неэтично писать кривые запросы.

А так - беспредметно - много кофейной гущи переведем...
15 июн 09, 11:07    [7298988]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
NightSkif
Member

Откуда:
Сообщений: 98
Glory,
Тогда почему запрос до сих пор выполняется? И результата нет.
15 июн 09, 11:08    [7298995]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
NightSkif
Glory,
Тогда почему запрос до сих пор выполняется? И результата нет.

Потому что правильные события трассирвки надо выбирать
15 июн 09, 11:09    [7299005]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
NightSkif
Member

Откуда:
Сообщений: 98
aleks2,
Да в младенчиском возросте перестал писаться. Да и не важен сам запрос.
15 июн 09, 11:11    [7299013]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
NightSkif
Member

Откуда:
Сообщений: 98
Glory, подскажите какие?
15 июн 09, 11:12    [7299018]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
NightSkif
Glory, подскажите какие?

Так тяжело открыть список событий и выбрать те, из которых будет видно запуск и завершение каждой команды ? Тултипы каждого события недостаточно информативны ?
15 июн 09, 11:15    [7299035]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
aleks2
Guest
NightSkif
aleks2,
Да в младенчиском возросте перестал писаться. Да и не важен сам запрос.


Дык я и говорил: все неважно.
15 июн 09, 11:16    [7299049]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
NightSkif
Member

Откуда:
Сообщений: 98
Glory, в базе сижу только я. Профайл пишет сам текст запроса. И все. При этом хранимая процедура выполняется
15 июн 09, 11:28    [7299127]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
NightSkif
Glory, в базе сижу только я. Профайл пишет сам текст запроса. И все. При этом хранимая процедура выполняется

Нажмите на закладку Events и выберите уже нужные события, которые покажут запуск и завершение _каждой команды_. Это так трудно ?
15 июн 09, 11:29    [7299138]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
NightSkif
Member

Откуда:
Сообщений: 98
Glory, Там выбраны все события
15 июн 09, 11:38    [7299200]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
NightSkif
Glory, Там выбраны все события

Тогда какие у вас затруднения с ответом на вопрос "И вы уже увидели в Профайлере какая строка вашей процедуры "ждет" ?"
15 июн 09, 11:45    [7299226]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить