Что может быть причиной случайного сбоя этого задания SQL? - PullRequest
0 голосов
/ 26 мая 2018

Я использую SQL Server 2014, и у меня есть SQL Задание (SSIS Package), настроенное на ежедневное выполнение в определенное время.В течение последних 3 недель задание SQL не выполнялось примерно 4 раза в случайные дни.Я с трудом пытаюсь выяснить, что может быть причинами этих сбоев и как их исправить.При каждом из этих сбоев я получаю одно и то же сообщение об ошибке из файла журнала SQL.

Ниже показано сообщение об ошибке:

Source: Execute SQL Task Description: OLE DB provider "SQLNCLI11" for   linked server "(null)" 
returned message "Protocol error in TDS stream".  
End   Error  Error:  2018-05-26 05:23:23.68
Code: 0x00000000     Source: Execute SQL Task 
Description: OLE DB provider "SQLNCLI11" for linked server "(null)" 
returned message "Communication link failure".  
End Error  Error: 2018-05-26 05:23:23.68
Code: 0x00000000 Source: Execute SQL Task      
Description: Session Provider: Physical connection is not usable [xFFFFFFFF].   
End Error  Error: 2018-05-26 05:23:23.68 Code: 0x00000000       Source: Execute SQL Task       
Description: OLE DB provider "SQLNCLI11" for linked server "(null)" 
returned message "Communication link failure".  
End Error  Error: 2018-05-26 05:23:23.72 
Code: 0xC002F210     Source: Execute SQL Task Execute SQL Task 
Description: Executing the query "  SELECT ResStayNonRoomBundleID<c/>  ReservationStayI..." 
failed with the following error: 
"TCP Provider: An existing connection was forcibly closed by the remote host.". 
Possible failure reasons: Problems with the query<c/> "ResultSet" property not set correctly 
<c/> parameters not set correctly<c/> or connection not established correctly. 
End Error  DTExec: The package execution returned DTSER_FAILURE (1).
Started:  5:22:57 AM  Finished: 5:23:23 AM  Elapsed:  26.343 seconds.  
The package execution failed.  The step failed.,00:00:26,0,0,,,,0

Благодарен, если кто-то может оказать некоторую помощьи указатели на возможные причины этой ошибки.

Поскольку задание выполняется в течение нескольких дней, я исключил возможность возникновения проблемы с запросом SQL, используемым внутри SSIS Package

Дополнительное примечание. Задание SQL состоит из 12 этапов, и сбои не возникают каждый раз на определенном этапе.

1 Ответ

0 голосов
/ 26 мая 2018

Я согласен с @ gordon-linoff.Я бы предложил создать консольное приложение, которое рассчитывает на базу данных, которая инкапсулирована с некоторыми блоками try catch.Если можно подсчитать, запустите пакеты служб SSIS из приложения консоли.

Это позволит вам предварительно проверить возможность подключения к базе данных.Если нет, вы можете зафиксировать дополнительные ошибки и повторить попытку.Вот пост о выполнении пакетов служб SSIS из консольного приложения.

Вызов пакета служб SSIS из консольного приложения c # для каждого цикла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...