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?

5 thoughts on “How important is extensibility for SQL Server?”

  1. Greg,
    The DBA part of me doesn't really want SQL Server to be extensible at all. At least, if we're talking about the engine. Cuz really the last thing I want to end up dealing with in an environment that I take over is some bad code… that isn't just bad code, but a bad extension.
    On the other hand… if we're talking about SSMS? I'm ready to grab my pitchfork and storm the castle with you…

  2. How about even deeper extensibility?  Take a look at the PostgreSQL Generalized Search Tree API — it's an extensibility model for index algorithms.  Pretty cool (and powerful) stuff!

  3. Why do we need extensibility (for SSMS) if we can already create add-ins and at a code level, we have CLR, so where do we think we need extensibility ? Other than making add-ins easier ? Or, am I missing the point ?

  4. Ah but there's one issue straight away. How do you build a supportable add-in for SSMS? The only current options involve hacking the object model and not supported. Most won't work when SSMS is updated.

Leave a Reply

Your email address will not be published. Required fields are marked *