2012-02-03 2 views
1

В моих приложениях я обычно использую перечисление SQL-экземпляра для получения всех экземпляров SQL Server. Но я обнаружил, что запуск брандмауэра и/или интернет-безопасности не позволяет приложению обращаться к экземплярам. Для этого я должен посоветовать человеку отключить брандмауэр, чтобы он мог получить доступ к экземплярам, ​​которые не являются хорошей идеей. Я googled, но я нашел несколько сценариев пакетного файла, которые работают для определенной версии Windows (Windows Server 2008, XP и т. Д.).Общий способ открытия портов для SQL Server

Но я хочу знать какой-то общий сценарий или метод, который открывает порты для SQL Server на любом компьютере. Как решить проблему?

+0

Я понимаю вопрос и даже потенциальную «необходимость». Тем не менее, я действительно считаю, что вы должны изменить архитектуру своего приложения, вместо того чтобы просить людей разоблачить их сервер базы данных. Выявление серверов баз данных - очень плохая практика, и я не могу установить приложение, если это единственный способ, которым он мог работать. – NotMe

+0

@ ChrisLively- Я упомянул, что отключить брандмауэр (но на короткое время) не является хорошей практикой. –

+0

Я думаю, что позволить SQL Server использовать ресурсы вашей собственной машины, не будет раскрывать базу данных. –

ответ

2

Возможно, вы найдете this link, and this one полезный (код на C#).

Может быть также некоторые скрипты PowerShell будет делать трюк: here и here

Но это о брандмауэре Windows только. Имейте в виду, что на рынке существуют различные программные брандмауэры, и в большинстве случаев есть аппаратный брандмауэр (иногда более одного).