Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Unexpected EOF from the server [20017] (severity 9)  [new]
juwdoks
Member

Откуда:
Сообщений: 144
php скрипт (PDO dblib tds v.9) выполняет query() на MSSQL 2008 R2 (хранимая процедура).
Хранимка на сервере при запуске вручную отрабатывать может от 1 сек. до 2 часов. А скрипт держится только если хранимка успевает отработать за время до минуты (точнее ~50 сек.). Если больше - вываливается в ошибку Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[01002]: Disconnect error: 20017 Unexpected EOF from the server [20017] (severity 9).

Пока думал что дело в таймаутах, попробовал разное:
ini_set('max_execution_time','0'); //в скриптах
ini_set('mssql.timeout', '0'); //для tds;
PDO::ATTR_TIMEOUT => "0" //в pdo;
dom.max_script_run_time = 0 //в браузере (Mozilla);
$.get param timeout //в ajax

В хранимке прописано SET NOCOUNT ON;
Таймаут в самом MSSQL стоял 600, - поставил 0.

EXEC sp_configure 'remote query timeout', 0 ;
GO
RECONFIGURE ;
GO

Все равно скрипт отваливается.
Что еще можно в такой ситуации поправить?
22 май 14, 11:17    [16053312]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Хранимку - разлет 1 сек- 2 часа исполнения - говорит о полной кривизне :)
А вот как настраивать ппх - вам в другой форум.
Сначала исчите чего у вас не так с хранимкой - сранивайте планы исполнения запросов для разных условий
22 май 14, 11:20    [16053333]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
Glory
Member

Откуда:
Сообщений: 104760
juwdoks
Таймаут в самом MSSQL стоял 600, - поставил 0.

EXEC sp_configure 'remote query timeout', 0 ;
GO
RECONFIGURE ;
GO

Этот таймаут не имеет к вашей ошибке никакго отношения.


juwdoks
Что еще можно в такой ситуации поправить?

Для начала мониторить, что происходит на сервере
22 май 14, 11:21    [16053348]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
juwdoks
Member

Откуда:
Сообщений: 144
Glory
Для начала мониторить, что происходит на сервере

Трейс показал, что вызываемая хранимка завершается SQL:BatchCompleted | Error: 2 - Abort
22 май 14, 11:57    [16053704]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
Glory
Member

Откуда:
Сообщений: 104760
juwdoks
Трейс показал, что вызываемая хранимка завершается SQL:BatchCompleted | Error: 2 - Abort

А саму ошибку не показывает что ли ?
22 май 14, 11:58    [16053717]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
Glory
Member

Откуда:
Сообщений: 104760
И "2 - Abort" - это не "1=Error"
22 май 14, 11:59    [16053729]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
juwdoks
Member

Откуда:
Сообщений: 144
Glory
juwdoks
Трейс показал, что вызываемая хранимка завершается SQL:BatchCompleted | Error: 2 - Abort

А саму ошибку не показывает что ли ?
Нет, чисто. Если вручную запустить с такими же параметрами, как приходят от скрипта - все нормально. Единственный след - этот Abort при вызове хранимки с хоста скрипта.
22 май 14, 12:02    [16053747]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
juwdoks
Member

Откуда:
Сообщений: 144
Glory
И "2 - Abort" - это не "1=Error"

Имел в виду колонку трейса.
22 май 14, 12:02    [16053753]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
juwdoks
Member

Откуда:
Сообщений: 144
Maxx
Хранимку - разлет 1 сек- 2 часа исполнения - говорит о полной кривизне :)
А вот как настраивать ппх - вам в другой форум.
Сначала исчите чего у вас не так с хранимкой - сранивайте планы исполнения запросов для разных условий

С хранимкой вроде всё ок. Разлёт связан с разным объемом данных согласно пааметрам вызова. В одном случае функции бегают по тысяче записей, в другом - по 8 млн. Ну внутренние апдейты, размеры временных таблиц и все такое. К логике хранимки нет претензий.
22 май 14, 12:07    [16053795]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
Glory
Member

Откуда:
Сообщений: 104760
juwdoks
Glory
И "2 - Abort" - это не "1=Error"

Имел в виду колонку трейса.

SQL:BatchCompleted
- как событие завершения пакета показывает запуск/завершение отдельных команд пакета ?
- как событие завершения пакета показывает запуск/завершение отдельных команд процедуры ?
22 май 14, 12:07    [16053797]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
juwdoks
К логике хранимки нет претензий.

если так - то мсскл тут вообще не при чем
22 май 14, 12:16    [16053879]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
juwdoks
Member

Откуда:
Сообщений: 144
Перед SQL:BatchCompleted (который Abort) в логе два успешных SP:Completed - основной и вызываемой внутри хранимок.
Ошибока в логе только одна - последний Abort.
22 май 14, 12:17    [16053896]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
Glory
Member

Откуда:
Сообщений: 104760
juwdoks
Ошибока в логе только одна - последний Abort.

Abort - это не Error
22 май 14, 12:19    [16053913]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
juwdoks
Member

Откуда:
Сообщений: 144
Maxx
juwdoks
К логике хранимки нет претензий.

если так - то мсскл тут вообще не при чем
Сейчас я совсем не понимаю кто сбоит. На сервере хранимка отрабатывает с любыми параметрами нормально. А из скрипта только если время выполнения маленькое - тогда fetch проходит.
22 май 14, 12:20    [16053920]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
juwdoks
Member

Откуда:
Сообщений: 144
Glory
juwdoks
Ошибока в логе только одна - последний Abort.

Abort - это не Error

Извините, не включил Exception/Errorlog. Сейчас перетрейсю.
22 май 14, 12:23    [16053938]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
juwdoks
Maxx
пропущено...

если так - то мсскл тут вообще не при чем
Сейчас я совсем не понимаю кто сбоит. На сервере хранимка отрабатывает с любыми параметрами нормально. А из скрипта только если время выполнения маленькое - тогда fetch проходит.

ну так и спросите специалиста по пхп как настроить таймаут в вашем приложении
22 май 14, 12:24    [16053954]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
juwdoks
Member

Откуда:
Сообщений: 144
Maxx
juwdoks
пропущено...
Сейчас я совсем не понимаю кто сбоит. На сервере хранимка отрабатывает с любыми параметрами нормально. А из скрипта только если время выполнения маленькое - тогда fetch проходит.

ну так и спросите специалиста по пхп как настроить таймаут в вашем приложении

Все таймауты уже настроены. В первом посте написал.
22 май 14, 12:29    [16054002]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
тогда ждем полный трейс выполнения хп
22 май 14, 12:31    [16054010]     Ответить | Цитировать Сообщить модератору
 Re: Unexpected EOF from the server [20017] (severity 9)  [new]
juwdoks
Member

Откуда:
Сообщений: 144
EventClassApplicationNameEndTimeErrorEventSubClassSeverityStateTypeTextDataCPURowCounts
SP:CompletedPHP freetds22.05.2014 12:36exec Calculate @key
SP:CompletedPHP freetds22.05.2014 12:36exec calcprice 15953814455
SQL:BatchCompletedPHP freetds22.05.2014 12:362 - Abort exec calcprice 1595382846914975
User Error MessagePHP freetds3621100The statement has been terminated.
Audit LogoutPHP freetds22.05.2014 12:361 - Nonpooled1 - Non-DAC28469
22 май 14, 13:03    [16054327]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить