Cranky Curmudgeons

  • Look at the changes they did in 2016... they made it so that all files in Temp DB suffer the equivalent of TF 1117 to force all files to grow at the same rate because some rocket scientists figured it was a "Best Practice".  They also made it non-optional.  That absolutely killed me for some of the big stuff I do.

    And then let's look at the wonderful "FORMAT" function they added a while back.  Did they even think about testing that for performance?  Apparently not.

    And how about that default in 2016 for "Fast Inserts"?  Thank the SQL gods that they provided an "out" in the form of TF 692 although it would have been nice to be able to set it at the database level (table level would have been even better) instead of just at the instance level.

    And then there's that damned SPLIT_STRING() function... what moron (moroff, really) designed that POS to not support returning of the elemental ordinals, especially since they took the time to document that the sort order was NOT guaranteed.

    There are dozens if not hundreds of such travesties all done in the name of "improvements" that I won't take the time to list.

    Don't get me wrong... there have been some great changes and additions in SQL Server, Windows, Windows-included-apps, etc, etc... they're just grossly outnumbered by changes that have had horrible changes in process, functionality, performance, and usability.  They even managed to FU something as simple as the Scientific version of the calculator in Windows with that damned "2nd" button. Just stupid.

    I won't begin to get into what they did to this very site and the horrors that still exist.  They can't even get a bloody SQL Code window right.

    Change is great but only if it's not a change for the sake of change and someone is actually bent on making good changes... which seems to be the exception to the rule rather than any norm, especially where software and "helping the user" comes into play.

    --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)

  • Well, here is an interesting sidelight to all of this.  I've been sitting here today listening and agreeing that I truly am a full-fledged CC.  Conversely, in my last position where I was a DBA (also database designer, SQL developer and 'improver'), one of the largest frustrations WAS in fact resistance to change.

    It was not resistance to'new' things but instead resistance to fixing things that were broken.  The bane of our DBA group was a group of 'Project Managers' .  They were all in favor of 'new and improved', but would not allow bug fixes and performance enhancements because they were seen as 'too risky'.  Many times we had to resort to unauthorized changes or slipping in fixes hoping they would be unnoticed.

    Rick
    Disaster Recovery = Backup ( Backup ( Your Backup ) )

  • skeleton567 wrote:

    Well, here is an interesting sidelight to all of this.  I've been sitting here today listening and agreeing that I truly am a full-fledged CC.  Conversely, in my last position where I was a DBA (also database designer, SQL developer and 'improver'), one of the largest frustrations WAS in fact resistance to change.

    It was not resistance to'new' things but instead resistance to fixing things that were broken.  The bane of our DBA group was a group of 'Project Managers' .  They were all in favor of 'new and improved', but would not allow bug fixes and performance enhancements because they were seen as 'too risky'.  Many times we had to resort to unauthorized changes or slipping in fixes hoping they would be unnoticed.

    That's also a problem for me.  People gleefully and enthusiastically make a whole lot of unqualified changes but, when you point out a problem, they play the ol' "we have bigger fish to fry" card even if you present them with both the fix, the test code to test the fix with, and the results from the test code.  And, OMG... if you want to add new functionality that could solve a multitude of problems (like the 11 year old request to MS to build a high performance sequence generator (like a Tally function) like some other RDBMSs contain), they really play the "unplanned" card.

    I'm not resistant to "new things"...  I'm resistant to "new" stupid ideas that repeat themselves over and over again and "Best Practices" that actually aren't.

    --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)

  • I think that's a global thing.  Fixing bugs and performance always takes a second seat, if it's even allowed in the same vehicle, as adding shiny new features.  I like change but the foundational product should be solid before you add new features. This is regardless if it's software or any mechanical device.

     

  • Jeff Moden wrote:

    Look at the changes they did in 2016... they made it so that all files in Temp DB suffer the equivalent of TF 1117 to force all files to grow at the same rate because some rocket scientists figured it was a "Best Practice".  They also made it non-optional.  That absolutely killed me for some of the big stuff I do.

    And then let's look at the wonderful "FORMAT" function they added a while back.  Did they even think about testing that for performance?  Apparently not.

    And how about that default in 2016 for "Fast Inserts"?  Thank the SQL gods that they provided an "out" in the form of TF 692 although it would have been nice to be able to set it at the database level (table level would have been even better) instead of just at the instance level.

    And then there's that damned SPLIT_STRING() function... what moron (moroff, really) designed that POS to not support returning of the elemental ordinals, especially since they took the time to document that the sort order was NOT guaranteed.

    There are dozens if not hundreds of such travesties all done in the name of "improvements" that I won't take the time to list.

    Don't get me wrong... there have been some great changes and additions in SQL Server, Windows, Windows-included-apps, etc, etc... they're just grossly outnumbered by changes that have had horrible changes in process, functionality, performance, and usability.  They even managed to FU something as simple as the Scientific version of the calculator in Windows with that damned "2nd" button. Just stupid.

    I won't begin to get into what they did to this very site and the horrors that still exist.  They can't even get a bloody SQL Code window right.

    Change is great but only if it's not a change for the sake of change and someone is actually bent on making good changes... which seems to be the exception to the rule rather than any norm, especially where software and "helping the user" comes into play.

     

    Jeff, tell us how you REALLY feel!  You are hilarious.  With that, I have get off here and go share a glass of wine with my sweetheart of 40 years.!

    Rick
    Disaster Recovery = Backup ( Backup ( Your Backup ) )

  • I enjoyed playing with Elastic Search, Spark, Python, Docker, Cloud technologies.

    For me the quote that sticks in my mind is that change is inevitable but change for the better is not. There's an awful lot of CVDD & EDD (CV Driven Development & Ego Driven Development) going on.  There are so many DB technologies all with their use cases but are they use cases that could apply to your organisation?  What is the BUSINESS problem you are trying to solve?

    If you get all this tech in then how are you supporting it? Where's your source of expertise for the product? What supporting tools are there for it? What's it like to recruit for it?  These are all CC questions and they need good answers.

    Baby Yoda (Young Optimistic Developer Advocate) will dismiss those out of hand along with security, compliance and the costs of a scale out architecture

     

  • skeleton567 wrote:

    Jeff, tell us how you REALLY feel!  You are hilarious.  With that, I have get off here and go share a glass of wine with my sweetheart of 40 years.!

    Heh... that may be a part of the problem with us old folks, Rick.  People think we're "hilarious" and continue to mistake the "clamor of the crowd" as some form of "Wisdom of the Group".  You're long in the tooth and I believe you understand that.

    --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)

  • Michael L John wrote:

    In today's meeting of the entire IT staff, we were discussing how interruptions prevent us from getting projects completed.

    My boss, using me as an example, stated that I was too nice that that I typically drop everything to help people when then come running.

    I told him that if he ever says I am too nice in a public meeting again that we are going to have words.  He's ruining my reputation!

    I'm also told (in private) that i'm too helpful and I juggle too many projects.... i'm tempted to take a week off and make him be the DBA

    MVDBA

  • That"s great. You have a wide world of radio things to enjoy. Sample as much as you can then focus on what you find most interesting.

    As for the CC things, pick your battles.

  • wayne Freeman-369096 wrote:

    That"s great. You have a wide world of radio things to enjoy. Sample as much as you can then focus on what you find most interesting.

    As for the CC things, pick your battles.

    Thanks! And yeah, pretty much.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • MVDBA (Mike Vessey) wrote:

    Michael L John wrote:

    In today's meeting of the entire IT staff, we were discussing how interruptions prevent us from getting projects completed.

    My boss, using me as an example, stated that I was too nice that that I typically drop everything to help people when then come running.

    I told him that if he ever says I am too nice in a public meeting again that we are going to have words.  He's ruining my reputation!

    I'm also told (in private) that i'm too helpful and I juggle too many projects.... i'm tempted to take a week off and make him be the DBA

    he-he, my boss told me a couple of months ago that I need to let go of some of the things I was worried about.  I told him I'd gladly let go of some of those things if there was someone competent to hand those things off to.  😀

  • Chris Harshman wrote:

    MVDBA (Mike Vessey) wrote:

    Michael L John wrote:

    In today's meeting of the entire IT staff, we were discussing how interruptions prevent us from getting projects completed.

    My boss, using me as an example, stated that I was too nice that that I typically drop everything to help people when then come running.

    I told him that if he ever says I am too nice in a public meeting again that we are going to have words.  He's ruining my reputation!

    I'm also told (in private) that i'm too helpful and I juggle too many projects.... i'm tempted to take a week off and make him be the DBA

    he-he, my boss told me a couple of months ago that I need to let go of some of the things I was worried about.  I told him I'd gladly let go of some of those things if there was someone competent to hand those things off to.  😀

    Well, this week just proved the need for a DBA. AGAIN.

    Our devops team has essentially taken over the duties of provisioning resources in Azure.  My group (infrastructure) has literally been reduced to nothing when it comes to the nice shiny cloud thingies.  Why?  We take the time to look deeper into things, as opposed to clicking through and ta-da! We have a new server.

    A deployment to production failed miserably on Monday.

    The error:

    "Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached."

    The devs pushed code that had never been reviewed, they were not closing their connections, and thus the connections in the app pools were being exhausted.  This SAME THING has occurred at least 10 times in the 5 years I have been here, and I simply sent the same email I previously sent in November, with the explanation, and the fix.  But hey, we don't need a DBA!

    They still wanted me to dig into the Azure database to see what was wrong.  I had spent a ton of time architecting this app with the dev team who originally developed it.  It was deployed last June.  It SCREAMED.  Every proc or ORM code ran in milliseconds against the DB, which is 500 GB.  Aside from some minor index tweaks, I've not had to do much.  Now, after 6 months, other dev teams have started deploying code against this database.  They basically took the Mona Lisa and threw paint on it.  I have 4 pages listing all the less than optimal things that have been done in the recent code.

    When it comes to DevOps configuration of the infrastructure, the database is being geo-replicated and is part of a failover group.  DevOps had it all set up, the read only connection strings to secondary, etc. etc.

    None of it works.  No queries have ever been executed against the secondary.  We are not at a high enough pricing tier to leverage these new shiny features.  We are out of compliance with licenses.  The backups were not configured.

    The list goes on an on.

    Yes, I am cranky.  Because I am tired of being the guy with the shovel and broom who walks behind the horses in the parade.

    Michael L John
    If you assassinate a DBA, would you pull a trigger?
    To properly post on a forum:
    http://www.sqlservercentral.com/articles/61537/

  • Michael L John wrote:

    Yes, I am cranky.  Because I am tired of being the guy with the shovel and broom who walks behind the horses in the parade.

    wait - ???? you get a shovel and a broom?

    MVDBA

  • MVDBA (Mike Vessey) wrote:

    Michael L John wrote:

    Yes, I am cranky.  Because I am tired of being the guy with the shovel and broom who walks behind the horses in the parade.

    wait - ???? you get a shovel and a broom?

    And it's only horses, not elephants.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • I get T-rex poo and SQL profiler (I know Grant is going to bite on this one - i'll put money on the next words out of his mouth are "extended events")

    In all honesty I genuinely believe that the gallows humour we have that allows us to cope with being a DBA and makes us look like a CC is a good thing. we challenge things, (just as Grant is going to say "extended event" in his next message)... whereas a lot of the web dev teams I deal with are also BCC ( blindly copy code)...

     

     

     

    MVDBA

Viewing 15 posts - 31 through 45 (of 51 total)

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