Are the posted questions getting worse?

  • Ant-Green wrote:

    I made a boo boo and reported a wrong post.

    Steve/Grant/Webmaster - could you please reinstate post 4268917 on this thread?

    https://www.sqlservercentral.com/forums/topic/logical-consistency-based-i-o-error-for-tempdb-ndf

    Thanks muchly

    Done!

    "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 am not using that silly new name for The Platform Formerly Known as Twitter.

    YAY! Website is working properly on my work machine again!!!

     

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • jonathan.crawford wrote:

    Trying to imagine a scenario where I worked with Jeff Moden and tried to call out his code...

    Jeff, Tally tables aren't working and this RBAR thing is RIDICULOUS. No one understands you. Try to be more like the other DBAs, please.

     

    @=)

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • So I haven't been able to consistently post for a while because stupid issues with website or browser (not sure which, but I didn't actively change anything). And now for the updates.

    I get to do testing of SQL on Linux. YAY!

    I still have to teach devs how to write SARGable code but now I also have to teach some of the other DBAs how to see the problems and call it out. Okay.

    There's a push to use NOLOCK on everything unless the users absolutely cannot deal with dirty reads because "it improves performance." ACK!

    We are still trying to teach the devs how to make code efficient and SARGable, despite the NOLOCK mandate. But it just throws 15+ years of my SQL training out the window and kills my soul a little each time I tell someone to add it to their code.

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • thank God they are using varbinary(max) for every item in the tables, or at least Nvarchar(max)

    Johan

    Learn to play, play to learn !

    Dont drive faster than your guardian angel can fly ...
    but keeping both feet on the ground wont get you anywhere :w00t:

    - How to post Performance Problems
    - How to post data/code to get the best help[/url]

    - How to prevent a sore throat after hours of presenting ppt

    press F1 for solution, press shift+F1 for urgent solution 😀

    Need a bit of Powershell? How about this

    Who am I ? Sometimes this is me but most of the time this is me

  • Hey, binary still has legs on it!

    @=)

    Brandie Tarvin, MCITP Database AdministratorLiveJournal Blog: http://brandietarvin.livejournal.com/[/url]On LinkedIn!, Google+, and Twitter.Freelance Writer: ShadowrunLatchkeys: Nevermore, Latchkeys: The Bootleg War, and Latchkeys: Roscoes in the Night are now available on Nook and Kindle.

  • Jeff Moden wrote:

    Lynn Pettis wrote:

    Jeff Moden wrote:

    jonathan.crawford wrote:

    Trying to imagine a scenario where I worked with Jeff Moden and tried to call out his code...

    Gosh... thanks for the very kind words but I'm far from perfect.  If someone like yourself "called out my code", it would be for something that you've already proven and I'd most definitely listen and learn something new or different in the process.

    The same goes for you other folks responding.  You've all got the right stuff.  It wouldn't be a "call out".  It would be an adventure for us both to hammer out a problem, whatever it was.  There's always a "faster gun" out there.

    I wouldn't call out the code written by Jeff. I'd just make a comment about how I think there might be a better way to do it. What to have a look together?

    Nah... you'd be like the other good denizens of this site... you'd already have a coded solution that we could test. 😀

    And Jeff would agree that the new code is faster. But then two days later Jeff comes back with a rewrite of the new solution that improves the time yet again. 🙂

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/

  • Brandie Tarvin wrote:

    So I haven't been able to consistently post for a while because stupid issues with website or browser (not sure which, but I didn't actively change anything). And now for the updates.

    I get to do testing of SQL on Linux. YAY!

    I still have to teach devs how to write SARGable code but now I also have to teach some of the other DBAs how to see the problems and call it out. Okay.

    There's a push to use NOLOCK on everything unless the users absolutely cannot deal with dirty reads because "it improves performance." ACK!

    We are still trying to teach the devs how to make code efficient and SARGable, despite the NOLOCK mandate. But it just throws 15+ years of my SQL training out the window and kills my soul a little each time I tell someone to add it to their code.

    Ugh I know that mandate all too well. If they really are determined to continue with this terrible idea can you at least convince them to use read uncommitted isolation instead? At least that way when they finally realize how horrible there system is they can back out their mistake without weeks or even months of coding.

    I have a real world example of this nightmare. I was doing consulting for a health insurance company for a few years. The code handled claims disbursements. One of their clients, a major health insurance company, purchased the rights to the software and split off the code so they could do whatever they needed to do. Since I knew the code so well they brought me on as a long term consultant to help them with the migration. They were experiencing some performance issues with the disbursement logic and approving balances for debit card payments.

    Their DBA team made the decision, without discussing it with me, that nolock MUST be added to every single table, in every single query, in every single procedure in the entire system. No exceptions. This was a pretty large system and had upwards of 2-3k procedures (many of them RBAR nightmares that were like an entire application), so the undertaking was massive. Being that they also had to do SOX auditing this process took months. As I recall it was scheduled for 6 months and ran way long, as you might expect.

    Once it was all completed the DBA team sat back and smirked at how well this worked for them. But within a few weeks the problems started showing up. We had a couple tickets were debit card purchases were approved, but at the time of purchase there was not enough funds to cover it. This was confirmed by looking through the transaction history for the customer. Hmmm....strange. How did this happen? Why are we unable to reproduce this error? Then we had a couple tickets where a customer called in and complained that their purchase was denied because according to their last statement there should have been enough funds. Any of this sound familiar?

    The DBA team finally asked me to help them figure out why balances were being incorrectly reported but seemingly randomly. And even more confusing to them was the balances would work themselves out. I knew right away what the problem but also knew that the DBA team was too arrogant to listen, they certainly didn't listen to the warnings I sent out before they started that project. I then spent the next week or two writing up extremely complicated test scenarios that would mock transactions that were happening in the production system. I created those scenarios both with and without nolock to demonstrate to them the folly of what they did. It took about 10 minutes and the CIO mandated a new project to remove all of the nolock hints that had been added for that project. It cost them about a year of labor for people to code, document, test and support code that never should been written. I don't remember what the final cost estimation was but it was staggering.

    Sorry for the super long rambling, but having been bitten by such a stupid and uneducated mandate by a DBA I have to share the story. I sure hope this doesn't happen to you.

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/

  • NOLOCK was the bane of my existence at my last company.  My predecessor forced the devs to add nolock everywhere.  And regardless of how many bugs and issues that got fixed when it was removed, I still had one developer say "Until you can prove to me exactly where in my code it's causing a bug I am going to keep using it".

    At my new position, DISTINCT is the default for every query. Nobody knows why they do it.  There is a fairly large group who is 100% dedicated to creating reports.  Their procs are awful.  I have been trying to figure out where they learned this stuff.  I've never seen it taught.

    It dawned on me.  They learned to write SQL by looking at the code generated when you create a Crystal report.  Ugh,

    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/

  • Hey Brandy,

    Another vote for getting them to go with read_uncommitted. When they realize they've dug a hole, let 'em out easy.

    And welcome back!

    "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

  • As we're sharing "new job" pains, we're likely going to be are taking responsibility of IT services for our parent company in the month months (years). I get the "fun" of looking after their SQL Servers, which is likely to start to come our way next month. When I started having a nosey into them the other week, I found that basically every LOGIN, apart from those who connect via a PowerBI AD group are a sysadmin, and if they aren't a sysadmin  they're a db_owner in any databases they have a mapped user in...

    Definitely going to end up breaking quite a few people's access before I figure out what they should be able to do.

    Not been in a position to ask why it's set up that way, and as the set-up is all done by a 3rd party I suspect answers are not going to be worthcoming. Suspect it's just a lack of knowledge.

    Did I mention it's also a Data Warehouse server with just 16GB of RAM and only 2 cores? Unless I recall correctly, you can't buy less than two 2 core packs (4 cores total).

    Thom~

    Excuse my typos and sometimes awful grammar. My fingers work faster than my brain does.
    Larnu.uk

  • Brandie Tarvin wrote:

    jonathan.crawford wrote:

    Trying to imagine a scenario where I worked with Jeff Moden and tried to call out his code...

    Jeff, Tally tables aren't working and this RBAR thing is RIDICULOUS. No one understands you. Try to be more like the other DBAs, please.

    @=)

    Heh... too funny.  Good seeing you again, Brandi. 😀

    It's also really funny in a different way (must be a disturbance in the force 😉 )... GENERATE_SERIES() has a pretty nasty fault for those of us that build a lot of test data and other similar activities.  I have an article scheduled to come out here on SSC on 18 Sep 2023 about that fault.

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

  • Thom A wrote:

    As we're sharing "new job" pains, we're likely going to be are taking responsibility of IT services for our parent company in the month months (years).

    Ok... let's all gather hands in a circle around Thom and repeat the DBA prayer with me...

    "Dear Lord... Thom is a good DBA stepping into a new unknown.  Please grant him patience because, if you grant him strength, he's also going to need bail money". 😀

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

    At my new position, DISTINCT is the default for every query. Nobody knows why they do it.  There is a fairly large group who is 100% dedicated to creating reports.  Their procs are awful.  I have been trying to figure out where they learned this stuff.  I've never seen it taught.

    It dawned on me.  They learned to write SQL by looking at the code generated when you create a Crystal report.  Ugh,

    Heh.. careful now... you don't want to say that too loudly... someone might take that as a "Best Practice".  😀 😀 😀

    Wouldn't it be funny, though, if it forced SQL Server to consistently do more than generate a "good enough" plan?  😀 😀 😀

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

    NOLOCK was the bane of my existence at my last company.  My predecessor forced the devs to add nolock everywhere.  And regardless of how many bugs and issues that got fixed when it was removed, I still had one developer say "Until you can prove to me exactly where in my code it's causing a bug I am going to keep using it".

    At my new position, DISTINCT is the default for every query. Nobody knows why they do it.  There is a fairly large group who is 100% dedicated to creating reports.  Their procs are awful.  I have been trying to figure out where they learned this stuff.  I've never seen it taught.

    It dawned on me.  They learned to write SQL by looking at the code generated when you create a Crystal report.  Ugh,

    Paul Simon phrased this perfectly in The Boxer

    😎

    "All lies and jest

    Still a man hears what he wants to hear

    And disregards the rest"

Viewing 15 posts - 66,436 through 66,450 (of 66,738 total)

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