Wednesday, March 28, 2012

More information regarding lack of sequence support in SQL 2008?

Hi,

I asked yesterday during the TechEd webcast introducing SQL 2008 about sequences support and was informed that support for sequences did not make the cut for this version.

Could anyone familar with the team's thinking provide some background on the thinking behind this decision?

The lack of sequences creates additional conversion work for those of us with legacy applications built around Oracle or DB2 sequences that would like to support SQL Server 2008.

It′s always about time and priorization. There are many features in the pipeline and this might be of a lower prioroty than the other ones. Its always about how many people are requesting for features and how big the business case for it is.

Jens K. Suessmeyer.

http://www.sqlserver2008.de
|||Just because it isn't in June's CTP doesn't mean that it won't make it in SQL Server 2008 though........ (To be the voice of optimism)|||

Vote for sequences support in Product Feedback ID 127061

https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=127061

This is long overdue!

|||

Hi Jens,

As a developer, I totally understand the need for prioritization. My request is more looking for some feedback from the team on WHY the feature didn't make the cut -- is it a perception of the presenced of a workaround, is it some high development cost, or is it a perception of no interest in the community.

As suggested in another reply, I've also voted for the feature in Connect, but truth be told, just having 5 votes (the count as I write this) for the sequences feature request does seem to indicate that there is no great interest in the feature. Sigh.

Anyway, with a little luck, after everyone returns from TechEd, someone on the SQL product management team will notice this question and have a go at explaining their thinking....

|||

I can't give you information on current thinking for Sequences, other than that the list of requests is long and the "formula" for analyzing them is pretty complex. Just creating a "Sequence" function is the easy part. Are there test resources in place to create a full range of tests for the new feature? Does the query optimizer need to do anything special? Is some underlying storage engine support required so the function can perform appropriately even in demanding situations like a TPC benchmark? What are the utility functions required (e.g., to reset sequence values)? What are the debugging features required? How about tools support? Does ADO.NET need to have any special support? What about other, including legacy, APIs? So what seems like a simple thing to implement can involve (at least modest) efforts by dozens of people spread over numerous teams. If any of those teams can't get their piece done because of other priorities, then the feature itself can't be done. Or, occasionally, the feature is done without work by some of the teams and then customer's deem it incomplete and unsatisfying. That isn't a good tradeoff most of the time.

Historically we viewed Sequences as something that the user could implement themselves if the standard SQL Server facilities (Identity, Uniqueindentifier) weren't sufficient. So even if the product group wants to add Sequences, it's a "nice to have" feature with a workaround and is thus easily trumped by higher priority features requests.

Hal

|||

Hi Gardner

You’re correct: the SEQUENCES feature is not supported in SQL Server 2008. The decision to deliver a specific feature depends on several factors, including customer need for a specific feature as compared with other customer requests across the product, availability of workarounds for a specific request, and of course time, availability of resources, the goals for the particular product release, and more. Go ahead and vote for SEQUENCES on http://connect.microsoft.com – that helps us prioritize features based on customer need/requests: more votes means more customers want it!

Hope that helps.

Thanks

Sara|||I don't think you will ever see sequence support. To make sequences useful you really need before insert triggers and row based triggers. Even though everyone has these except MS, I don't think we ever will Sad I asked about the same thing during the 05 TechEd to the SQL panel and was given a lot of blank stares.
|||

Each feature must be assigned a priority. With hundreds, thousands really, of requests there must be a priority. I agree that Before triggers would be quite useful but implementing your own sequences is quite easy and commonly done. (BTW, have you complained to Oracle for not supporting Identity? Both Sequences and Identity are part of ANSI. And Oracle still does not support empty strings, and don't plan to, which is totally stupid. Have complained for that too? What was their answer...?). Although row triggers are also very easily done with fast forward cursors, they are also a bad practice (true also on Oracle and DB2 BTW), so I really don't mind it not being a priority for the SQL team. Rewrite row triggers with set base logic and you will see perf improvements.

I would prioritize features differently than what MS has done but also differently than you. I personnaly think MS is doing a great job. I also find them more responsive to feedback than Oracle (your experience may differ). This is a great community.

If you want a pointer for sequences on SQL Server see:

Simulating Sequence Objects in SQL Server

http://blogs.msdn.com/sqlcat/archive/2006/04/10/sql-server-sequence-number.aspx

BTW: I voted on your request on Connect. https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=285655

No comments:

Post a Comment