As suggested, if you want an online, multi-user database then you would generally create a web service and host that along with the database somewhere, then have all your clients make calls to that web service. Those clients could be WinForms but they could be anything else too. If you're coding in .NET, you would generally create a Web API project for the web service these days. Web API is basically MVC without the V, i.e. the controller actions return data to be consumed, rather than a view to be displayed.
Which host is most appropriate depends on a number of factors. If you want SQL Server then you'll almost certainly have to pay, but you may find a MySQL host for free. It won't make any difference to your clients as all they'll see is the web service. You wouldn't expect to get the same level of service from a free host though, so guaranteed up-time and the like is the sort of thing you'd have to pay for.