SQL Server 2019 CTP 3.2 Available

  • Comments posted to this topic are about the item SQL Server 2019 CTP 3.2 Available

  • I guess sometimes it comes down to whom it is more important to keep up to date, your employer or yourself.

    Disaster Recovery = Backup ( Backup ( Your Backup ) )

  • I approach new releases with seriously mixed emotions.

    For example, the move from 2000 to 2005 brought some great and incredibly useful changes to SQL Server.  The Windowing Functions are a great example (and your book on them is a must read... thank you for the copy when we first met in person).  But, at the same time, they were a bit crippled (could not do a running total, for example) and, frankly, 2005 was pretty much broken until SP1.  It also took away a lot like the wonderful search functionality that was built into the {f4} key in the old Enterprise Manager.  They took away sp_MakeWebTask (which was an incredible reporting tool if you spent a little time with it) and introduced (IIRC) the PIVOT operator, which everyone raved about but was a mere shell compared to the PIVOT operator of MS ACCESS.  And then there are things like the new Cardinality Estimator... that broke a lot of serious stuff for us.  Thank goodness they also issued a trace flag that would let us use the old CE.

    It also seems that with every release, something works differently and, as we saw with 2012, MS apparently can't even control their source controls not to mention the fact that a new problem of Online Clustered Index Rebuilds would now corrupt your data under certain but common conditions.

    And then there's stuff that's documented in such a fashion you can't easily tell what's going to happen and hasn't received all the "new cool feature" attention in blogs so that you're aware of the change.  The best example is the bit of mostly unknown horror MS created with the MAX and XML datatypes.  Those, of course, are consider to be LOBs and while it was a great change, there's a little dirty secret to it all.  The old Text, NText, and Image datatypes defaulted to "out of row".  The new MAX (VARCHAR, NVARCHAR, VARBINARY, and XML) default to "in row" and very few people realize the performance and memory/disk space wasted usage horrors that has wrought (all courtesy of "trapped" short rows, which I have been giving a presentation on along with how to fix it).

    To summarize...

    1. I DO love the new functionality that is sometimes released.  I look forward to the additional functionality of being able to easily import true CSV files with BULK_INSERT as of 2017.  I think it's absolutely stupid that it took them more than two decades to figure that out, though.  Same with the not yet realized "Tally Table" function that other flavors of SQL have built in (this one has been on their to-do list for over a decade now).
    2. I Do sometimes hate the new functionality that is sometimes released.  When a shiny new bauble hits the streets, everyone has to use it or they're just not "cool" and that's even if the new bauble causes damage, is more difficult to use, or has performance issues.  The FORMAT function and the use of Recursive CTEs to replace incremental While Loops are great examples of that and, to this day, I spend a whole lot of time tryng to get people to understand just how bad Recursive CTEs that increment actually are.  Some people have even cited them in blogs as being a "Best Practice" <major facepalm>.
    3. Because of the serious regressions they made in 2012 and the 2014 problems where SSIS servers were killed and the pattern of "oops" first seriously established way back in 2000 SP3/3A, I truly fear for my data, the safety of the server, and the performance of the code with every SP/CU that comes out.  Even MS used to say to NOT install hot fixes or CUs unless they absolutely fixed a known issue.  A great example of "fearing for my data" was when T-SQL had a fault on UPDATE where it would ignore the WHERE clause under certain conditions back in 2000 SP 3A... it took 40 of us 10 days to undo the damage that did to our data.
    4. To wit, the one thing that I love about (for example) 2008 is that it's no longer supported.  Another way of thinking about that is the it's a guarantee the MS won't break stuff in it any more.  Of course, it's not feasible to continue down that path because of security and some useful new features but it summarizes the thought of "If it's supported, they're gonna break something".

    Or... if you truly want to summarize my feelings about it, "Change is inevitable... change for the better is not" and "Continuous improvement frequently is not".  😉

    Either way, I DO strongly agree with the premise of this article and I thank you for taking the time to write it, Kathi... Be aware... be VERY aware of the forthcoming changes.

    --Jeff Moden

    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.

    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply