MySQL is not free!
It is widely understood to be free, but you are selling or distributing software packages that incorporate MySQL, it carries rather severe restrictions. In these cases, it is free only for Open Source projects or non-profit organizations. If you can manage to completely separate the database and drivers from the rest of your application, and force your customer to download and install MySQL on their own, you're probably okay.
Otherwise, it costs $2,000 / year for the "standard" edition, which is roughly comparable to the cost of licensing SQL Server.
Both are very good databases, but among SQL Server's advantages are:
- A rich and expressive procedural language (T-SQL)
- A better query optimizer, and better performance in write-intensive environments
- A strong set of ancillary tools and capabilities, including a programming environment, an ETL tool (SSIS), dimensional modeling (SSAS), a reporting environment (SSRS), and a reasonably sophisticated job scheduler.
- Interactive debugging of stored procedures and UDFs.
- A relatively easy-to-use window-based management tool that lets you do most administration tasks in a "clicky" way.
Many people are ideologically opposed to using Microsoft tools, or being locked into a Windows environment, and I can understand that. But MySQL is NOT free for business usage, and that doesn't seem to be widely understood.
To review MySQL's licensing policy, take a look at it at their website: http://www.mysql.com/about/legal/licensing/index.html