На сервере sql хранится тайм-аут процесса, а на запрос не приходит тайм-аут, почему? - PullRequest
4 голосов
/ 24 февраля 2010

У меня есть сохраненный процесс на сервере sql 2008, в котором не указан параметр int. Он вызывает другие сохраненные процедуры и имеет вложенные запросы.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я запускаю процедуру из SQL Server Management Studio, она не выполняется и время ожидания истекает.

Если я запускаю запросы на стороне хранимого процесса отдельно в другой студии управления SQL-сервером, он просто выполняет все нормально.

Я не могу отладить проблему. будет признателен за любую помощь / указатели, чтобы копать это глубоко.

(я использую те же учетные данные при выполнении процедуры или запроса)

Заранее спасибо.

1 Ответ

8 голосов
/ 24 февраля 2010

Может быть случай сниффинг параметра .

Попробуйте назначить параметры sproc локальным переменным и использовать их в запросах внутри sproc.

, например

CREATE PROCEDURE [TestSproc]
    @Param1 INTEGER
AS
BEGIN
DECLARE @Param1_LOCAL INTEGER
SET @Param1_LOCAL = @Param1

SELECT Something
FROM Somewhere
WHERE SomeField = @Param1_LOCAL 
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...