2010-05-06 3 views
1

Я знаю, что в Интернете есть много информации о решении этой проблемы, но это мне не помогло.SQL Server 2005 и «Общая сетевая ошибка»

Приложение My Delphi использует элементы управления dbExpress для доступа к базе данных и выполнения SQL-запросов. Однако раз в пару дней он перестает работать, потому что соединение с базой данных терпит неудачу. Это происходит на нескольких компьютерах с разными версиями Windows. MSSQL Server 2005 (версия 9.0.4035) устанавливается на каждом из них.

Вышеупомянутое приложение выполняет запросы каждые пару секунд, и они в основном являются командами вставки. Каждые несколько дней я получаю ряд исключений, как следующий:

[DBNETLIB] [. ConnectionOpen (PreLoginHandshake())] Общая сеть ошибки. Проверьте свою сеть документации.

И тогда сервер SQL становится недоступным, пока я его не перезапущу вручную.

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

Не могли бы вы помочь мне решить эту проблему? Любые подсказки или идеи? При необходимости я могу предоставить вам дополнительную информацию о сервере или приложении.

спасибо, что заранее.

ответ

2

Как выглядит ваша строка подключения? Существуют ли межсетевые экраны (аппаратное или программное обеспечение) между сетевыми соединениями?

Проверить эту ссылку для идей http://blogs.msdn.com/sql_protocols/archive/2005/10/29/486861.aspx

Перечитывая свой пост, это довольно интересно, что вам нужно перезапустить довольно серьезное дело SQL Server..that в. Как правило, эти ошибки в сети происходят мимо объектов, не связанных с SQL. Возможно, вы не закрываете все свои соединения должным образом. Сделайте «netstat -an» на сервере SQL и посмотрите, сколько подключений tcpip задерживается. Посмотрите также на менеджера предприятия. Поскольку вам пришлось перезапустить SQL Server, первое, на что я смотрю, это журналы ошибок самого SQL Server, а затем журналы событий Windows.

Следующий шаг после просмотра всего этого и, если у вас все еще возникают проблемы, я настоятельно рекомендую открыть билет на проблемы с Microsoft. Это обычно не дорого, и они неплохо разбираются в таких вещах.

+0

Спасибо за ваш ответ. Если речь идет о строках соединения, они выглядят так: DriverName = MSSQL; HostName = (LOCAL) \ InstanceName; Аутентификация ОС = False; User_Name = sa; Password = 123456; или так: DriverName = MSSQL; HostName = (LOCAL) \ SQLEXPRESS; Аутентификация ОС = True; Как видите, приложение запускается на том же компьютере, на котором работает SQL Server. Если речь идет о брандмауэрах, я должен был бы проверить это (к сожалению, только в конце следующей недели), но я думаю, что их нет (или, если они есть, они отключены). Я попробую ваши предложения как можно скорее. –

+0

Позвольте мне написать эти строки подключения в отдельных комментариях, чтобы они были ясны ... –

+0

DriverName = MSSQL; HostName = (LOCAL) \ InstanceName; Аутентификация ОС = False; User_Name = sa; Password = 123456; –

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