November 12, 2016 at 11:32 am
Jeff Moden (11/3/2016)
The question now is, did they update the script generator to reflect this new capability? Probably not. I also think it's interesting that they'd spend time on such a thing but not spend time on actual "Create or Replace" syntax. Yeah, they did something else that helps but what's the "standard"?Did they, by any chance, also make it so that you can alter a synonym? No.
MS seems to make "improvements" based on what will sell the best but then they don't pay any attention to details when they do. We have a new splitter that won't return the ordinal position of the split out elements and returns nothing if you pass it a null. We still don't have a high performance sequence generator (built in Tally Function).
Stuff like this really makes me ask "what were they thinking"?
They even get the documentation wrong too: this inline index feature is documented (in the current unversioned version of the CREATE TABLE BOL page) as being supported from SQL SERVER 2008 onwards, but actually was never in SQL SERVER 2008 nor SQL SERVER 2008 R2, it isn't in the SQL SERVER 2012 as installed (build 11.0.2100) on my toy, but it is in SQL 2014 (build 12.0.5203.0) on the same toy.
So I too wonder "what were they thinking?" and it seems blatantly obvious that they don't pay attention to details whendocumenting what they have done.
Tom
November 12, 2016 at 3:42 pm
TomThomson (11/12/2016)
Jeff Moden (11/3/2016)
The question now is, did they update the script generator to reflect this new capability? Probably not. I also think it's interesting that they'd spend time on such a thing but not spend time on actual "Create or Replace" syntax. Yeah, they did something else that helps but what's the "standard"?Did they, by any chance, also make it so that you can alter a synonym? No.
MS seems to make "improvements" based on what will sell the best but then they don't pay any attention to details when they do. We have a new splitter that won't return the ordinal position of the split out elements and returns nothing if you pass it a null. We still don't have a high performance sequence generator (built in Tally Function).
Stuff like this really makes me ask "what were they thinking"?
They even get the documentation wrong too: this inline index feature is documented (in the current unversioned version of the CREATE TABLE BOL page) as being supported from SQL SERVER 2008 onwards, but actually was never in SQL SERVER 2008 nor SQL SERVER 2008 R2, it isn't in the SQL SERVER 2012 as installed (build 11.0.2100) on my toy, but it is in SQL 2014 (build 12.0.5203.0) on the same toy.
So I too wonder "what were they thinking?" and it seems blatantly obvious that they don't pay attention to details whendocumenting what they have done.
Sadly, Tom, that's nothing new. There are many examples where they've referred to things in BOL that don't exist.
November 12, 2016 at 6:18 pm
Ed Wagner (11/12/2016)
Sadly, Tom, that's nothing new. There are many examples where they've referred to things in BOL that don't exist.
Yes, lot's of things wrong in BOL - I've been living with that ever since a few months more than 16 years ago I told IBM their DB2 was completely useless and the company I worked for would be replacing it with SQL Server 2000 and demanding return of all we had paid for their utter rubbish. I jump on the errors in BOL quite simply because I regard Microsoft's offering the best available RDBMS (in terms of capability, but sadly no longer in terms of value for money now that they've increased the effective price by a few hundred per cent). I think it important that they try to get the documentation right (and am unhappy that they don't succede and now don't even appear to try) because the great thing about SQL Server back in 2000 was that I could point any competent developer or DBA at the documentation that came with it and they'd be productive within a couple of days while with Oracle or DB2 or Sybase the documentation was bad enough that we would need training courses (and with IBM those courses would be a total waste of time), and Ingres and Postgres no longer had adequate commercial credibility as a long-term solution (although they were both technically better and massively cheaper than IBM or Oracle). The deterioration of the documentation quality from Microsoft over the years since then is to me a terribly sad thing, and so is Microsoft's tendency to add incomplete bells and whistles instead of going for coherent enhancements and their tendency to pick pretty irrelevant things alongside the rather pointless half-baked additions like this one that triggered Jeff's comment. Of course it could be interesting if it means we can now define indexes for table variables that we couldn't define before - but only if at the same time proper statistics for table variables were introduced, and I've seen no sign of that (actually the store-optimised tables are to some extent a step in that direction, but they are much too persistent and too transaction-oriented to do any of the things that table variables are useful for).
Tom
November 15, 2016 at 5:07 pm
david.gugg (11/3/2016)
Oh, I missed the part about this being SQL Server 2016. When I run this on our 2008 R2 instance, I get:Msg 1018, Level 15, State 1, Line 5
Incorrect syntax near 'INDEX'. If this is intended as a part of a table hint, A WITH keyword and parenthesis are now required. See SQL Server Books Online for proper syntax.
Oh well.
I got this syntax error also, on an earlier version. Still, I learned something. Thanks for the question Steve.
Viewing 4 posts - 16 through 18 (of 18 total)
You must be logged in to reply to this topic. Login to reply