You may be able to find free SQL Server hosting but there wouldn't be many choices. Most free hosting would use MySQL, because MySQL is free to them while Microsoft charge a license fee for SQL Server. Changing your application to use MySQL would not be much of a challenge though. You'll obviously have to have a MySQL database test against, the setting up of which may be the biggest pain. With regards to your code, you mainly just have to install Connector/Net (free from MySQL) and then change all your SqlClient types to MySqlClient types. You would also need to change the connection string and maybe some of the SQL but the pattern of your code would remain the same.
Once you have your database set up on a web server, you then have to work out how to connect to it. It is possible to connect to databases hosted on the web directly if they are configured appropriately, but very few will be configured so because it is a security risk. Generally speaking, you would create a web service and host that on the same web server as the database. Your application would then connect to that web service and access to the database itself is tightly controlled.