Назад | Перейти на главную страницу

Прерывистая ошибка SQL Server 2008 40 при выполнении параллельных запросов

Вот наша установка:

Мы используем Мультискрипт Red Gate SQL для выполнения запросов к нашим ~ 1000 базам данных, которые находятся на одном SQL Server 2008. SQL Multi Script можно настроить для параллельного выполнения запросов в нескольких базах данных одновременно, что ускоряет выполнение этого количества баз данных. Мы хотим выполнять запросы как можно быстрее, поэтому мы сделали Multi Script для запуска 25 параллельных соединений (максимум, разрешенный Multi Script). SQL Multi Script работает на настольном компьютере (Windows 7) и подключается к SQL Server 2008 с входом «sa» напрямую через свое имя хоста (myserver.mycompany.com). Наш SQL Server 2008 не является именованным экземпляром, поэтому мы не ссылаемся на него с помощью \ instancename.

Вот в чем проблема:

Иногда мы получаем следующую ошибку для нескольких баз данных из 1000, для одного и того же запроса, того же сервера, тех же баз данных, того же параллелизма (выполнение одного и того же действия снова и снова, иногда приводит к небольшому количеству ошибок, иногда нет):

"Сообщение 1214, уровень 20, состояние 0, строка 0 Ошибка, связанная с сетью или конкретным экземпляром, произошла при установлении соединения с SQL Server. Сервер не был найден или был недоступен. Убедитесь, что имя экземпляра правильное и что SQL Сервер настроен на разрешение удаленных подключений. (Поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть подключение к SQL Server) »

Еще одна вещь: если мы уменьшим количество параллельных подключений в Multi Script, эти ошибки, похоже, исчезнут, но поскольку мы хотим добиться от него максимальной производительности, мы хотели бы увеличить количество максимальных параллельных подключений.

Я также нашел эта тема на форуме Red Gate, но это мало помогает

ОБНОВИТЬ:

Я изменил настройки в свойствах подключения, чтобы использовать только TCP / IP, и теперь я получаю другую ошибку:

"Сообщение 10048, уровень 20, состояние 0, строка 0 Ошибка, связанная с сетью или конкретным экземпляром, произошла при установлении соединения с SQL Server. Сервер не был найден или был недоступен. Убедитесь, что имя экземпляра правильное и что SQL Сервер настроен на разрешение удаленных подключений. (Поставщик: поставщик TCP, ошибка: 0 - обычно разрешено только одно использование каждого адреса сокета (протокол / сетевой адрес / порт).) "

У кого-нибудь есть идеи, почему это происходит?

Я бы попробовал использовать только TCP / IP, а не именованные каналы.