There are lots of ways (and lots of companies) to do this. I don't have any experience with any of the companies so I can't recommend them. As for doing it yourself you can use lots of different dataloaders (such as lexiloader) to upload your data or you could use the SOAP/REST APIs manually to transform your data from SQL to Salesforce. You could even use something like jsforce [1] with nodejs to connect to the SQL server and then mogrify the data and insert it into Salesforce.
[1] https://jsforce.github.io/