SQL Server is too expensive. At least that's what more and more readers—many of whom are looking at the free MySQL or other lower cost open-source databases—have told me over the past year.
With SQL Server 2000, Microsoft introduced a per-processor licensing model, increasing the price for a typical SQL Server installation. From Microsoft's viewpoint, the company added significant features to the product, making it worth the higher cost. In addition, in the enterprise space, the least expensive option must fight against the perception that low cost equals low quality. It's no coincidence that as SQL Server's price has increased so has its adoption in the enterprise market.
Microsoft geared most of SQL Server 2000's new features toward making SQL Server more competitive in the enterprise arena. As IBM and Oracle's revenues have shown, big business is clearly the most profitable sector. And to successfully compete against IBM and Oracle, SQL Server has to target big business. But for small businesses that will never use many of these enterprise features, SQL Server has become overkill. These organizations are looking for a basic relational database. And as Microsoft follows the enterprise path with SQL Server, it leaves small businesses behind.
Some people argue that SQL Server is still a database for small businesses because it's easy to implement. But making SQL Server easier to use doesn't, by itself, make the product more applicable to small businesses. SQL Server has increased in features and complexity more than any other database product. In the SQL Server 6.5 time frame, a DBA could have a good grasp of the entire product; even a part-time DBA could handle it. Today, with the inclusion of Analysis Services, data mining, Data Transformation Services (DTS), XML, Notification Services, distributed clustering, enhancements to core relational capabilities, and the upcoming Reporting Services, SQL Server is just too big for anyone to master. Not only do these added features increase the product's price, to fully take advantage of them requires specialized knowledge that's well beyond the part-time DBA.
I'm not saying that Microsoft's direction for SQL Server doesn't make sense. But moving beyond the small and midsize business sector has its dangers. For one, SQL Server risks losing its loyal, grassroots community. For another, implementation mistakes that smaller, less-skilled shops make reflect on the reputation of the product in the enterprise. And, of course, the low-end market simply can't afford higher priced enterprise-oriented products.
Ironically, although Microsoft and SQL Server got their start at the low end of the market, that's exactly where they're now vulnerable. Microsoft can't serve both small business and big business with the same product. Maybe Microsoft should consider splitting SQL Server into two versions—one for small business and one for the enterprise. MSDE is free but unsuitable for most multiuser projects. SQL Server Personal Edition could fit the bill as a low-end database, but Microsoft doesn't sell it separately; you must have a license to one of the other SQL Server editions to use Personal Edition. The threat from below will continue to grow even as SQL Server does. And SQL Server must either adapt to the low end of the market or cede it to open-source competitors.