Как ускорить подключение моего приложения к MS SQL Server? - PullRequest
0 голосов
/ 07 февраля 2009

У меня есть приложение Delphi, работающее на SQL Server 2000, но подключение к базе данных занимает очень много времени!

Но когда я запускаю это приложение на моем сервере разработки, оно подключается довольно быстро!

Я работаю на Windows 2003 server, SQL Server 2k personal edition, когда я смотрю на мою версию MDAC в реестре, я вижу версию 2.8 уже установленной!

Есть идеи, почему это происходит на рабочей машине, а не на машине для разработки?

Ответы [ 4 ]

6 голосов
/ 07 февраля 2009

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

Попробуйте подключиться к базе данных с того же компьютера, используя другой инструмент. Вы можете настроить источник данных и протестировать его с панели управления в качестве альтернативы. Если соединение медленное из-за другого инструмента, проверьте соединение между серверами для других типов соединения (например, запустите пинг). Возможно, он разрешает сервер, например, через широковещательную рассылку, а не через домен. Или любое другое количество проблем - брандмауэр, коммутатор, победы и т. Д.

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

Короче говоря, я был бы уверен, что это не проблема, специфичная для delphi / sql, а нечто, связанное с вашими производственными серверами.

Удачи!

1 голос
/ 07 февраля 2009

Держите ваше соединение открытым, как только вы его установили. Это называется пул подключений и повысит производительность. Я понятия не имею, как это сделать с помощью приложения Delphi.

1 голос
/ 07 февраля 2009

Скорее всего, ваша проблема связана с сетевым или транспортным уровнем

  1. Вы подключаетесь через TCP, именованные каналы или другой механизм?
  2. Вы пытались отследить открытие соединения с Microsoft SQL Profiler?

С уважением,
Ливны

0 голосов
/ 07 февраля 2009

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

В этом случае ваше подключение к базе данных должно ждать, пока сеть не попытается подключиться к несуществующему компьютеру (что, очевидно, требует времени). Удалите ключ рабочей станции, и он не будет ускоряться без конца.

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