Are the posted questions getting worse?

  • GilaMonster (3/15/2016)


    Ed Wagner (3/15/2016)


    GilaMonster (3/15/2016)


    Brandie Tarvin (3/15/2016)


    In a change of subject, anyone else find it odd that someone would claim that the proper way of doing a SQL thing is a workaround and not a working supported solution?

    I find it more odd that a 'Recovery Expert' would repeatedly suggest nonsensical things.

    Like telling someone to drop a filegroup they already posted they couldn't drop? Where's that "answers getting worse" thread again? 😉

    More the last one. Add a file to a filegroup that's offline, then shrink a file that's not there to move its data into the newly added file, then drop the filegroup that's offline and hence can't be dropped.

    Link please?

    Jason...AKA CirqueDeSQLeil
    _______________________________________________
    I have given a name to my pain...MCM SQL Server, MVP
    SQL RNNR
    Posting Performance Based Questions - Gail Shaw[/url]
    Learn Extended Events

  • SQLRNNR (3/15/2016)


    GilaMonster (3/15/2016)


    Ed Wagner (3/15/2016)


    GilaMonster (3/15/2016)


    Brandie Tarvin (3/15/2016)


    In a change of subject, anyone else find it odd that someone would claim that the proper way of doing a SQL thing is a workaround and not a working supported solution?

    I find it more odd that a 'Recovery Expert' would repeatedly suggest nonsensical things.

    Like telling someone to drop a filegroup they already posted they couldn't drop? Where's that "answers getting worse" thread again? 😉

    More the last one. Add a file to a filegroup that's offline, then shrink a file that's not there to move its data into the newly added file, then drop the filegroup that's offline and hence can't be dropped.

    Link please?

    Here you go

  • jasona.work (3/15/2016)


    SQLRNNR (3/15/2016)


    GilaMonster (3/15/2016)


    Ed Wagner (3/15/2016)


    GilaMonster (3/15/2016)


    Brandie Tarvin (3/15/2016)


    In a change of subject, anyone else find it odd that someone would claim that the proper way of doing a SQL thing is a workaround and not a working supported solution?

    I find it more odd that a 'Recovery Expert' would repeatedly suggest nonsensical things.

    Like telling someone to drop a filegroup they already posted they couldn't drop? Where's that "answers getting worse" thread again? 😉

    More the last one. Add a file to a filegroup that's offline, then shrink a file that's not there to move its data into the newly added file, then drop the filegroup that's offline and hence can't be dropped.

    Link please?

    Here you go

    Thank you

    Jason...AKA CirqueDeSQLeil
    _______________________________________________
    I have given a name to my pain...MCM SQL Server, MVP
    SQL RNNR
    Posting Performance Based Questions - Gail Shaw[/url]
    Learn Extended Events

  • jasona.work (3/15/2016)


    SQLRNNR (3/15/2016)


    GilaMonster (3/15/2016)


    Ed Wagner (3/15/2016)


    GilaMonster (3/15/2016)


    Brandie Tarvin (3/15/2016)


    In a change of subject, anyone else find it odd that someone would claim that the proper way of doing a SQL thing is a workaround and not a working supported solution?

    I find it more odd that a 'Recovery Expert' would repeatedly suggest nonsensical things.

    Like telling someone to drop a filegroup they already posted they couldn't drop? Where's that "answers getting worse" thread again? 😉

    More the last one. Add a file to a filegroup that's offline, then shrink a file that's not there to move its data into the newly added file, then drop the filegroup that's offline and hence can't be dropped.

    Link please?

    Here you go

    Oy Vey.

    Recovery Expert :crazy:

    Jason...AKA CirqueDeSQLeil
    _______________________________________________
    I have given a name to my pain...MCM SQL Server, MVP
    SQL RNNR
    Posting Performance Based Questions - Gail Shaw[/url]
    Learn Extended Events

  • SQLRNNR (3/15/2016)


    jasona.work (3/15/2016)


    SQLRNNR (3/15/2016)


    GilaMonster (3/15/2016)


    Ed Wagner (3/15/2016)


    GilaMonster (3/15/2016)


    Brandie Tarvin (3/15/2016)


    In a change of subject, anyone else find it odd that someone would claim that the proper way of doing a SQL thing is a workaround and not a working supported solution?

    I find it more odd that a 'Recovery Expert' would repeatedly suggest nonsensical things.

    Like telling someone to drop a filegroup they already posted they couldn't drop? Where's that "answers getting worse" thread again? 😉

    More the last one. Add a file to a filegroup that's offline, then shrink a file that's not there to move its data into the newly added file, then drop the filegroup that's offline and hence can't be dropped.

    Link please?

    Here you go

    Oy Vey.

    Recovery Expert :crazy:

    Uh huh. :w00t:

  • jasona.work (3/15/2016)


    Is this the end?

    Will Jeff Moden be able to stop work on his string splitter??

    Will Batman be able to get rid of the bomb before it blows up?!?!

    Tune in next week!

    https://www.brentozar.com/archive/2016/03/splitting-strings-sql-server-2016-rescue/[/url]

    😎

    I ran a test comparing Jeff's DelimitedSplit8K (DS8K) to the STRING_SPLIT (SS) function. Ran against 10k rows of random delimited data. Also tested with putting output into a temp table, and using a @Bitbucket VARCHAR(MAX) variable. Average results over 5 runs:

    DS8K -> @Bitbucket: 49138ms

    DS8K -> TempTable: 51054ms

    SS -> @Bitbucket: 4471ms

    SS -> TempTable: 8871

    If using 10k rows of identical data, DS8K was faster than SS.

    To answer some of the questions I've seen on The Thread:

    STRING_SPLIT('', ',') returns a single row of an empty string.

    STRING_SPLIT(NULL, ',') returns no rows. To get a row with a NULL result value, use this function in an OUTER APPLY.

    Using Jeff's test of a splitter against things that some splitters choke on, it passed all (except the NULL).

    According to the docs, it returns nvarchar if any of the input arguments are either nvarchar or nchar. Otherwise returns varchar. The length of the return type is the same as the length of the string argument.

    Wayne
    Microsoft Certified Master: SQL Server 2008
    Author - SQL Server T-SQL Recipes


    If you can't explain to another person how the code that you're copying from the internet works, then DON'T USE IT on a production system! After all, you will be the one supporting it!
    Links:
    For better assistance in answering your questions
    Performance Problems
    Common date/time routines
    Understanding and Using APPLY Part 1 & Part 2

  • WayneS (3/15/2016)


    jasona.work (3/15/2016)


    Is this the end?

    Will Jeff Moden be able to stop work on his string splitter??

    Will Batman be able to get rid of the bomb before it blows up?!?!

    Tune in next week!

    https://www.brentozar.com/archive/2016/03/splitting-strings-sql-server-2016-rescue/[/url]

    😎

    I ran a test comparing Jeff's DelimitedSplit8K (DS8K) to the STRING_SPLIT (SS) function. Ran against 10k rows of random delimited data. Also tested with putting output into a temp table, and using a @Bitbucket VARCHAR(MAX) variable. Average results over 5 runs:

    DS8K -> @Bitbucket: 49138ms

    DS8K -> TempTable: 51054ms

    SS -> @Bitbucket: 4471ms

    SS -> TempTable: 8871

    If using 10k rows of identical data, DS8K was faster than SS.

    To answer some of the questions I've seen on The Thread:

    STRING_SPLIT('', ',') returns a single row of an empty string.

    STRING_SPLIT(NULL, ',') returns no rows. To get a row with a NULL result value, use this function in an OUTER APPLY.

    Using Jeff's test of a splitter against things that some splitters choke on, it passed all (except the NULL).

    According to the docs, it returns nvarchar if any of the input arguments are either nvarchar or nchar. Otherwise returns varchar. The length of the return type is the same as the length of the string argument.

    Article????????????

    :hehe:

  • jasona.work (3/15/2016)


    Reading the SQL2016 release notes, and especially Jeffs' comments here[/url], I'm wondering if maybe MS didn't bother to set up their string splitter with the capability of numbering the output because they expect people to fudge around that.

    Perhaps setting up a temp table with an identity column and inserting the split data into that, then working from there. A kludge, but a workable kludge...

    Not sure how badly this would affect performance of any procedures that use it, though...

    There's no way to guarantee the order especially since we don't know how it works behind the scenes nor if it's single threaded. With that, there is no workable kludge that will be supported never mind guaranteed.

    MS also closed comments on that thread... probably because of the CONNECT items that popped up. Let's hope they don't close the CONNECT item that identifies the missing enumeration column.

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

  • Steve Jones - SSC Editor (3/15/2016)


    WayneS (3/15/2016)


    jasona.work (3/15/2016)


    Is this the end?

    Will Jeff Moden be able to stop work on his string splitter??

    Will Batman be able to get rid of the bomb before it blows up?!?!

    Tune in next week!

    https://www.brentozar.com/archive/2016/03/splitting-strings-sql-server-2016-rescue/[/url]

    😎

    I ran a test comparing Jeff's DelimitedSplit8K (DS8K) to the STRING_SPLIT (SS) function. Ran against 10k rows of random delimited data. Also tested with putting output into a temp table, and using a @Bitbucket VARCHAR(MAX) variable. Average results over 5 runs:

    DS8K -> @Bitbucket: 49138ms

    DS8K -> TempTable: 51054ms

    SS -> @Bitbucket: 4471ms

    SS -> TempTable: 8871

    If using 10k rows of identical data, DS8K was faster than SS.

    To answer some of the questions I've seen on The Thread:

    STRING_SPLIT('', ',') returns a single row of an empty string.

    STRING_SPLIT(NULL, ',') returns no rows. To get a row with a NULL result value, use this function in an OUTER APPLY.

    Using Jeff's test of a splitter against things that some splitters choke on, it passed all (except the NULL).

    According to the docs, it returns nvarchar if any of the input arguments are either nvarchar or nchar. Otherwise returns varchar. The length of the return type is the same as the length of the string argument.

    Article????????????

    :hehe:

    Sure, why not. I'll even compare it to the CLR function in the resources in Jeff's article also.

    Wayne
    Microsoft Certified Master: SQL Server 2008
    Author - SQL Server T-SQL Recipes


    If you can't explain to another person how the code that you're copying from the internet works, then DON'T USE IT on a production system! After all, you will be the one supporting it!
    Links:
    For better assistance in answering your questions
    Performance Problems
    Common date/time routines
    Understanding and Using APPLY Part 1 & Part 2

  • WayneS (3/15/2016)


    Sure, why not. I'll even compare it to the CLR function in the resources in Jeff's article also.

    Just to be sure, that CLR is actually broken. It works fine for things where all elements are populated but goes a bit wonky for (IIRC) trailing delimiters and something else I don't remember.

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

  • Jeff Moden (3/15/2016)


    jasona.work (3/15/2016)


    Reading the SQL2016 release notes, and especially Jeffs' comments here[/url], I'm wondering if maybe MS didn't bother to set up their string splitter with the capability of numbering the output because they expect people to fudge around that.

    Perhaps setting up a temp table with an identity column and inserting the split data into that, then working from there. A kludge, but a workable kludge...

    Not sure how badly this would affect performance of any procedures that use it, though...

    There's no way to guarantee the order especially since we don't know how it works behind the scenes nor if it's single threaded. With that, there is no workable kludge that will be supported never mind guaranteed.

    Given the nature of the operation, it is most likely to be serial / sequential. Attempting to break up the input string in order to process it in parallel would require pre-parsing to find the delimiters so as to not break up a value into two pieces. And at that point you have already done half the work so why bother with parallel processing?

    If using NVARCHAR data, breaking up a value could result in invalid UTF-16 byte sequences if the break happens to split a Supplementary Character. Similarly, if using VARCHAR data with one of the 3 supported Double Byte Character Set code pages, breaking up a value could result in invalid DBCS byte sequences. It might be possible to break up the string and not need to worry about invalid byte sequences IF the position of each set is maintained and stitched back together in the original order before releasing any values. But in that case the original order is still maintained.

    Hence, it seems reasonable to expect the following to be reliable:

    ;WITH split AS

    (

    SELECT vals.value, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS [ItemNum]

    FROM STRING_SPLIT(@InputString, ',') vals

    )

    SELECT *

    FROM split;

    However, this is just an educated guess, and proper testing (which I am not able to do at the moment) would be a better indicator than any speculation.

    SQL#https://SQLsharp.com/ ( SQLCLR library ofover 340 Functions and Procedures)
    Sql Quantum Lifthttps://SqlQuantumLift.com/ ( company )
    Sql Quantum Leaphttps://SqlQuantumLeap.com/ ( blog )
    Info sitesCollations     •     Module Signing     •     SQLCLR

  • Shoot me, please, just shoot me...

    So, several (most) of my servers have silly-small C:\ drives for the OS. This hasn't been a problem until recently, now those drives are getting nearly full (mostly from the various and sundry crap applying OS updates leaves behind.) In the past, I was able to work around this by moving things like the swap file for the OS to other drives, but now that's been done in the past and I've got nothing (easy) left to try...

    I could request increasing the size of the drive (love me VMs,) but we're working on getting new servers (also VMs) with bigger C:\ drives to migrate to, so I'm not sure if it'll be worth the hassle of running that through the process...

    It's only one VM at the moment really complaining, so I'm trying one other trick to clean up the old update files, but that's taking long enough (thankfully it's a QA VM) that I'm seriously thinking about just rolling back on my snapshot and saying "da heck wit' it."

    Sigh...

    At least I wasn't the one who originally requested the VM...

    And at least it's not production VMs having this problem (right now.)

    OK, ranting over, we now return you to your regularly scheduled madness and mayhem.

  • jasona.work (3/16/2016)


    Shoot me, please, just shoot me...

    So, several (most) of my servers have silly-small C:\ drives for the OS. This hasn't been a problem until recently, now those drives are getting nearly full (mostly from the various and sundry crap applying OS updates leaves behind.) In the past, I was able to work around this by moving things like the swap file for the OS to other drives, but now that's been done in the past and I've got nothing (easy) left to try...

    I could request increasing the size of the drive (love me VMs,) but we're working on getting new servers (also VMs) with bigger C:\ drives to migrate to, so I'm not sure if it'll be worth the hassle of running that through the process...

    It's only one VM at the moment really complaining, so I'm trying one other trick to clean up the old update files, but that's taking long enough (thankfully it's a QA VM) that I'm seriously thinking about just rolling back on my snapshot and saying "da heck wit' it."

    Sigh...

    At least I wasn't the one who originally requested the VM...

    And at least it's not production VMs having this problem (right now.)

    OK, ranting over, we now return you to your regularly scheduled madness and mayhem.

    Knowing who you work for, getting new hardware could take a while. The bureaucracy could involve...well...never mind. Get the paperwork done so at least it's initiated for when you don't get your new hardware on time.

    I'm reminded of someone's signature line - "A pessimist is an optimist with experience."

  • Ed Wagner (3/16/2016)


    jasona.work (3/16/2016)


    Shoot me, please, just shoot me...

    So, several (most) of my servers have silly-small C:\ drives for the OS. This hasn't been a problem until recently, now those drives are getting nearly full (mostly from the various and sundry crap applying OS updates leaves behind.) In the past, I was able to work around this by moving things like the swap file for the OS to other drives, but now that's been done in the past and I've got nothing (easy) left to try...

    I could request increasing the size of the drive (love me VMs,) but we're working on getting new servers (also VMs) with bigger C:\ drives to migrate to, so I'm not sure if it'll be worth the hassle of running that through the process...

    It's only one VM at the moment really complaining, so I'm trying one other trick to clean up the old update files, but that's taking long enough (thankfully it's a QA VM) that I'm seriously thinking about just rolling back on my snapshot and saying "da heck wit' it."

    Sigh...

    At least I wasn't the one who originally requested the VM...

    And at least it's not production VMs having this problem (right now.)

    OK, ranting over, we now return you to your regularly scheduled madness and mayhem.

    Knowing who you work for, getting new hardware could take a while. The bureaucracy could involve...well...never mind. Get the paperwork done so at least it's initiated for when you don't get your new hardware on time.

    I'm reminded of someone's signature line - "A pessimist is an optimist with experience."

    Actually, that would be a pragmatist.

  • Lynn Pettis (3/16/2016)


    Ed Wagner (3/16/2016)


    jasona.work (3/16/2016)


    Shoot me, please, just shoot me...

    So, several (most) of my servers have silly-small C:\ drives for the OS. This hasn't been a problem until recently, now those drives are getting nearly full (mostly from the various and sundry crap applying OS updates leaves behind.) In the past, I was able to work around this by moving things like the swap file for the OS to other drives, but now that's been done in the past and I've got nothing (easy) left to try...

    I could request increasing the size of the drive (love me VMs,) but we're working on getting new servers (also VMs) with bigger C:\ drives to migrate to, so I'm not sure if it'll be worth the hassle of running that through the process...

    It's only one VM at the moment really complaining, so I'm trying one other trick to clean up the old update files, but that's taking long enough (thankfully it's a QA VM) that I'm seriously thinking about just rolling back on my snapshot and saying "da heck wit' it."

    Sigh...

    At least I wasn't the one who originally requested the VM...

    And at least it's not production VMs having this problem (right now.)

    OK, ranting over, we now return you to your regularly scheduled madness and mayhem.

    Knowing who you work for, getting new hardware could take a while. The bureaucracy could involve...well...never mind. Get the paperwork done so at least it's initiated for when you don't get your new hardware on time.

    I'm reminded of someone's signature line - "A pessimist is an optimist with experience."

    Actually, that would be a pragmatist.

    Touche. I know I have enough experience to be pessimistic about things that involve bureaucracy. More and more things are going that way.

Viewing 15 posts - 53,086 through 53,100 (of 66,738 total)

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