Ошибка собственного клиента служб SSIS SQL - невозможно диагностировать причину - PullRequest
0 голосов
/ 11 марта 2009

У нас очень большое количество заданий служб SSIS, которые запланированы на выполнение каждого вечера / раннего утра подряд. Эти задания заполняют и обновляют большие объемы данных для наших производственных систем. Недавно мы начали получать сообщения об ошибках на разных работах в разное время. До сих пор было невозможно воспроизвести на постоянной основе:

     Code: 0xC0202009     
     Source: [Job Name] Connection manager "[Connection.Manager.Name]"
     Description: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80004005  Description: "Communication link failure". 
An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80004005  Description: "Named Pipes Provider: No process is on the other end of the pipe.  ".  
End Error
Error: 2009-03-10 05:19:51.09
     Code: 0xC00291EC     Source: Update record status Execute SQL Task
     Description: Failed to acquire connection "[Connection.Manager.Name]". Connection may not be configured correctly or you may not have the right permissions on this connect...  The package execution fa...  The step failed.

Соединение определенно настроено правильно, и мы запускаем его как пользователь с соответствующими разрешениями. Более года эти работы выполнялись без нареканий. Поиски в Google показывают результаты, которые охватывают все: от возможных проблем с подключением до проблем с целостностью данных. Мы пытались работать с источником данных как проблема с подключением, а также с базой данных SQL Server и с сервера, проверяя журналы событий. Кажется, ничего не совпадает. Вот наша установка:

  • У нас есть один сервер Server 2003 с SQL Server 2005, предназначенный только для размещения и выполнения заданий служб SSIS
  • У нас есть выделенный блок Server 2003 с только базой данных SQL Server, в которой хранятся наши данные, а также предоставляются отчеты служб Reporting Services
  • Большинство наших заданий подключаются через ODBC к базе данных Sybase для получения данных из нашей системы записей и передачи их на SQL Server для создания отчетов и обработки данных

Кто-нибудь сталкивался с этим исключением подобным образом? Опять же, мы безуспешно пытались устранить неполадки в базах данных SQL Server, а также в соединении Sybase.

Ответы [ 2 ]

2 голосов
/ 24 марта 2009

В нашем случае это был конфликт ресурсов. Блокировки возникали из-за блокировок на уровне таблицы от других заданий. Ошибка Native Client не была достаточно описательной, чтобы сообщить нам, что изначально было не так. Нам пришлось запустить SQL Server Profiler на БД и отфильтровать ошибки Deadlock. Эта статья очень помогла нам направить нас в правильном направлении.

Надеюсь, это поможет !!

1 голос
/ 11 марта 2009

Если OLE DB обманывает вас, тогда это может быть что угодно. Если это не так, то, возможно, нет никакого процесса на другом конце трубы. Вы должны посмотреть в журналах событий и т. Д., Чтобы увидеть, если, возможно, другой процесс умер.

Даже процессы, запущенные в течение многих лет, могут изменить свое поведение, если что-то еще изменится. Например, резервное копирование или другое автоматизированное задание может занимать все больше и больше времени и теперь вступает в противоречие с существующим расписанием ваших пакетов служб SSIS. Такая вещь может привести к закрытию любых открытых соединений, что приведет к "отсутствию процесса на другом конце трубы".

...