It is just easier to log in and manage an SQL server if it is available on the internet. I know I'm certainly guilty of doing so for short periods when I'm off-site with no VPN and need to manage a server.
Some sysadmins just get lazy and leave it available on the internet with strong passwords 24/7, just so once in a blue moon they can log in and manage it. Or are doing some kind of site to site data migration and are tired of the VPN connection dropping.
I've done a site to site SQL migration across two Azure zones because doing it the "right" way was too complicated/time consuming/expensive. However once the data was copied across I changed the End Point config to protect the SQL server again.
I won't make excuses, it is just laziness/expedient. But that is human nature for you...
client told me they got a big IO bill from AWS & i was deathly afraid it was from bots just probing the SQL server ports. thankfully it wasn't (it was from s3, they are a media heavy site with many users) but it reminded me not to just leave things accessible via internet, cuz even though it seems irrational to think someone would just probe you over & over, the fact is you have to pay an AWS bill, & attackers are just operating from their laptop.... if the amplification is right they can cost you looooots of $$ with no cost to them.
But regardless you should be locking down access to the SQL host by network ranges, but I'm not sure if all providers have that ability.
I guess 700k is a bunch...
https://www.shodan.io/search?query=port%3A%221434%22
Since we can't expect those jokers to fix anything, it's probably best to drop traffic on that port.
What are the reasons for exposing an SQL server directly to the internet? Obviously there's a bunch of people who have mis-configured and have accidently exposed their systems, but are there real-world reasons to expose a SQL server directly to the net?
I would think most people who are sharing datasets would do so with some sort of API - and there'd need to be room for rate limiting / blacklisting IPs and so on. I would never expose a SQL server directly to the net, and I'm really curious if there are reasons to do so?