Я написал этот прекрасный ответ, относящийся к веб-доступу к серверу SQL, а затем вы пошли и обновили его, заявив, что у вас есть приложение для настольного компьютера.
При этом, как было сказано выше, лучшая идея - не выставлять сервер базы данных в Интернет. Если вам абсолютно необходимо, то есть несколько возможных решений.
Внедрить какое-либо VPN-соединение в сеть . У меня был случай, когда у нас было большое количество сайтов, подключенных к серверу баз данных (и сети компании) через VPN. Это не позволило серверу баз данных отключиться от интернета, хотя по-прежнему обеспечивало половину приличного времени доступа к информации. Это было для розничной среды с небольшой пропускной способностью данных
Правильно настройте брандмауэры и разрешения на сервере . Это должно быть сделано в любом случае. Вы можете разместить сервер за брандмауэром, разрешив доступ только на 1433 и только с определенного диапазона IP-адресов (что, я полагаю, будет возможно). Таким образом, вы можете по крайней мере уменьшить количество мест, откуда возможна атака.
Это может быть использовано в дополнение к API и сервисам, упомянутым выше.