How important is extensibility for SQL Server?

One of the things that has always surprised me with SQL Server is the lack of extensibility points. In fact, the team seems to go out of their way to remove or avoid them. SQL Server Management Studio is an obvious example but I see it as a much deeper problem.

Taking SQL Server 2008 as a recent example, there is a fixed list of facets. Why? Surely there must be a well-defined interface that all the supplied ones adhere to. Why isn’t that interface exposed?

I find that every time I’m in a software review or similar meeting, I’m the one in the room saying “how do I build one of those?”.

I think the product would be so much richer if an ecosystem was permitted to be created around it. For example, I saw Klaus Aschenbrenner demonstrating a nice plug in for SSMS a while back that provided a class model style view of service broker objects. Why do such things have to be hacked into the product without having them integrated via supported interfaces?

The product team isn’t the only source of ideas for extending the product and it also doesn’t have limitless funds available for development. Why should the growth of the product be stunted by an inability to let other people expand it?

How important do you feel extensibility is for the product?

2009-04-18