Как взаимодействовать с базой данных расположенной на сервере из десктопного приложения?
По-хорошему, вам нужно сделать ещё одно веб-приложение, которое будет давать доступ к данным через HTTP-API.
Раз вы уже знакомы с C# - можете сделать его на asp net core.
Тогда с клиента надо будет делать HTTP-запросы к этой апишке, при помощи HttpClient.

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

Пройдусь по нему отдельно, почему это УЖАСНО.

1. Лишняя точка отказа, причем это не проверенное решение, а вся поддержка будет всегда на вас
2. Пинг, его величество пинг, вы всегда будете его иметь грубо говоря на каждый запрос + 160 мс оно вам надо?
3. Оверхед по упаковке распаковке данных. xml, json, grpc, soap раздувают ваши данные в разы зачем??
4. Перепаковка данных. В простейшем случае вы вешаете SqlDataSource и получаете все ваши таблички, в случае с другими вам нужно делать DataAdapter  оно вам нужно?