2013-09-06 1 views
2

В настоящее время выполняется SQL Server 2008 R2 SP1 на 64-битной Windows Server 2008 R2 Enterprise на двухъядерном 8-ядерном процессорном сервере Intel с 128 ГБ оперативной памяти и 1 ТБ SCSI.Тупик в буфере связи: SQL Server 2008 R2, выполняющий хранимые процедуры для хранилища данных

С 2011 года серверные службы хранилища данных и служб Analysis Services работают с сервером. Этот экземпляр сервера и SQL не используется для OLTP.

Внезапно и без предупреждения все задания, которые вызывают пакеты SSIS, которые строят таблицы хранилища данных (с использованием хранимых процедур), терпят неудачу с ошибками «Тупик в буфере связи». SP, который генерирует ошибку в пакете, различается при каждом запуске процесса.

Однако задания будут работать нормально, если SQL Server Profiler работает для отслеживания в то время, когда задание инициировано.

Это первоначально произошло на нашем сервере разработки (в той же конфигурации) в июне. Контакт с Microsoft выявил проблемы с диском ввода/вывода и предложил установить MaxDOP = 8, который смягчил проблему взаимоблокировки, но ввел проблему, когда процессы могут занимать до 3 раз дольше в произвольные интервалы.

Это произошло сегодня на нашем производственном сервере. В настоящее время MaxDOP установлен на ноль. За последний месяц не было изменений в ОС, SQL Server или пакетах SSIS. Места работы были прекращены в одночасье 5 сентября, но провалились с ошибками за ночь прошлой ночью (6 сентября) и продолжают терпеть неудачу при любой попытке.

Продолжительность времени, в течение которого любая работа будет выполняться до сбоя, не является совпадением и не существует согласованности между заданиями. Задания, которые занимают 2 минуты для выполнения до завершения, будут сбой в секундах, где задания, которые обычно занимают 2 часа, могут работать от 30 до 90 минут до сбоя.

+0

'не удалось с ошибками за ночь прошлой ночью' - можете ли вы публиковать сообщения об ошибках? Кроме того, вы проверяли, не перегружены ли ваши планировщики работой, поставленной в очередь из-за больших транзакций или длительных запросов или блокировки? MaxDop равно 0 = означает, что он будет использовать все доступные потоки, которые могут привести к голоданию нити. Кроме того, проверьте статистику ожиданий на сервере, которая может указывать на вас в правильном направлении. – Kin

+0

Вы заметили какое-либо увеличение времени, которое сервер предпринимает для выполнения этих заданий? – Zane

+2

Голосование, чтобы перейти на DBA.SE, чтобы мы могли привлечь злых умных людей. – billinkc

ответ

0

Рассматривали ли вы изменение уровня изоляции базы данных. Это может помочь, когда параллельные чтения и записи происходят в базе данных.

Смежные вопросы