Один из наших партнеров недавно сообщил, что наше программное обеспечение не могло связаться с удаленным экземпляром SQL Express, пока они не запустили службы RPC Locator и SQL Server Browser. Где мне найти список служб, которые должны быть запущены как на сервере, так и на клиенте, чтобы обеспечить удаленный доступ к SQL Express и / или SQL Server?
К сожалению, документация по SQL Express не содержит этой детали.





Глядя на мою текущую установку SQL Server, у меня включены и работают удаленные подключения, а на машине отключены службы RPC Locator и SQL Server Browser.
Ключевым моментом является то, что вы должны правильно включить удаленные подключения в мастере настройки контактной зоны.
В прошлом у меня возникали проблемы с выполнением запросов связанного сервера, если служба MS DTC (координатор распределенных транзакций) не работала.
Я не знаю каких-либо служб, которые необходимо запускать на клиенте (если они не являются зависимостями приложений), но для сервера в этой статье базы знаний объясняется, как включить удаленные подключения к SQL Server: http://support.microsoft.com/kb/914277.
По умолчанию SQL Express настроен на разрешение только локальных подключений. Суть статьи такова: используйте инструмент Surface Area Configuration, чтобы указать службе SQL прослушивать tcp / ip и / или именованные каналы; затем включите службу браузера SQL (или отключите ее и используйте определенный порт в клиентском соединении); и, наконец, проделайте дыру в брандмауэре. Как ни странно, я думаю, что у большинства людей больше всего проблем с исключениями брандмауэра.
Я считать служба RPC Locator - это скорее обычная служба Windows для обработки вызовов COM, поэтому я не уверен, что справедливо характеризовать ее как требование, специфичное для SQL; ваше приложение может потребовать его подключения, но я не знаю, что каждое приложение будет (например, Митчел говорит, что его установка отлично работает без нее).
SQL Express всегда устанавливается как именованный экземпляр (servername \ sqlexpress) и, следовательно, ему назначается динамический порт. Служба браузера SQL требуется клиентам, чтобы найти экземпляр. Без браузера SQL клиент не будет знать, какой порт прослушивает служба.