« first day (2559 days earlier)      last day (2311 days later) » 

2:07 PM
SNEAKY
that wasn't in the original release notes
neither was this
 
@sp_BlitzErik It is starting to drive me nuts
 
@PaulWhite makes you wonder what other secrets are in there
 
2:36 PM
@sp_BlitzErik The thing is, I knew this was coming, and checked for it. Disappointed when it wasn't there.
I'm talking about EstimateRowsWithoutRowGoal. cc: @JoeObbish
Can you get a plan with it in for SQL 17 CU3?
 
working on it
 
Because it's not even in any of the showplan.xsd files I have
 
have you tried?
well then -_-
 
Yes no luck so far
This is exactly the sort of amateurish update with no documentation that is starting to piss me off.
 
and here i was with my big mug of coffee getting ready to add it to blitzcache
it's enough to make a guy open a sandwich shop.
 
2:40 PM
damn right!
Pedro promised to blog about it, but hasn't AKAICT
But is that the release vehicle now?
 
blogs?
hahaha
 
@sp_BlitzErik Found it in the plan cache
> <RelOp NodeId="4" PhysicalOp="Filter" LogicalOp="Filter" EstimateRows="1" EstimateRowsWithoutRowGoal="1204.82"
 
oh good, another trip to relop for me
@PaulWhite i have your and joe's row goals posts, what are some others you like?
wanna do a roundup when i blog about the new thing in the stuff
 
2:58 PM
@sp_BlitzErik I'm writing a new one
I was waiting for CU3
 
Sep 27 '17 at 13:12, by Paul White
At some point I'm going to have to face the fact I have already written everything I know.
 
I'm guessing there will be an SSMS update required as well
 
ooh so it shows up in the xml but it's not exposed in the graphical plan
 
@sp_BlitzErik Only in the cache, SSMS silently removes xml from the server it doesn't recognise
 
ssms is a idiot [sic]
 
3:00 PM
I'm sure the server sends it, so you could probably see it with a different tool
This should not be so hard
 
xml is hard
that's why query plans are moving to json
in cu3.5
(unannounced)
 
revisionist
 
Incidentally, that's the first KB I've seen that mentions SET ROWCOUNT
I had that as a little nugget in my draft, which is less exciting now
 
isn't that on the verge of deprecation?
 
3:04 PM
Only for updates
Oh, on the verge, well who knows
And would it matter, deprecated stuff seems to be supported forever, if it's widely used enough
e.g. TOP x without parentheses
 
no
i suppose i was just curious what your angle was on it
 
SET ROWCOUNT can be handy
It has some small differences from TOP/OFFSET that can be useful
 
you make my eyebrows raise at least once a day
i'd really love a switch in restore syntax to bump database compat level
 
3:23 PM
@sp_BlitzErik would that be really useful?
 
with the amount of stuff that's compat level dependent nowadays, yes
 
@sp_BlitzErik I mean would it be a big improvement over updating it manually once the restore is complete?
A restore should restore the database to the state it was in when backed up
 
depends on the scale at which you're restoring databases
for one database, no
 
I guess so
 
if you're doing a big migration, it would be nice to have the option rather than a separate script
 
3:27 PM
I bet it's all solved with PowerShell
heh
Have you looked at the UDF CPU & elapsed time thing yet?
I wonder if it aggregates all UDF invocations, at all levels
 
that's on my todo list
i'm trying to come up with workable row goal demos for bits
if you couldn't tell by my bottle and a half of wine email last night
 
Oh is that what that was about
 
no, i thought you might like the exchange spills
 
I did! I liked many aspects actually
Though scanning an index backward is a neater way to get non-parallel scans.
Not that you'd want to change the SO schema that much, I guess.
 
those things ran for 10 minutes a piece
 
3:33 PM
I can believe it
 
i was surprised that your trace flags didn't help
 
@sp_BlitzErik my trace flags?
 
they're all yours
drop the farce
senior trace flag program manager paul white
 
ha no seriously I am lacking context - which flag ought to have made a difference there?
sh Joe arrived
everyone act natural
 
they were trace flags you suggested when i hit a parallel deadlock, so i rolled with it
 
3:38 PM
@PaulWhite I think I mentioned that a few weeks ago in chat
that XML information was only in the plan cache
it was available in previous versions too
 
of 2017, or 2016?
 
I believe I was testing on 2017 CU2
 
Dec 16 '17 at 7:00, by Joe Obbish
@PaulWhite @sp_BlitzErik Either one of you notice EstimateRowsWithoutRowGoal="6.4516e+006" in the query plan cache yet?
 
Bound by NDA at that point
 
3:40 PM
i've been lazy about 2017 testing lately
 
but yeah, it goes right to your point of poor documentation
 
It's massively frustrating
 
if you're truly offended I can give you a TF to turn it off ;)
 
@JoeObbish The feature switch for EstimateRowsWithoutRowGoal? Which is it?
 
USE HINT (‘DISABLE_OPTIMIZER_ROWGOAL’)
?
 
3:42 PM
let it get it, it's on a different computer
 
@sp_BlitzErik no
 
@PaulWhite 11029
I wish I was less lazy about blogging
I could have been one of the cool kids to blog about features before MSFT revealed them
 
@JoeObbish ta
 
@PaulWhite Have you ever used UNION ALL to split a parallel heap up to get better row distribution on parallel threads?
 
3:58 PM
i need to install better spyware on your computer
 
@sp_BlitzErik if you could write my blog posts for me that would be very helpful!
 
sure, just send me the scripts
and a blurb
@JoeObbish do you cook also or just bake?
 
@sp_BlitzErik I don't got a wife if that's what you mean
 
no, i was curious if you're also a professional chef
i suppose the row goal was to ask if you have an opinion on sous vide cooking
 
I'm not even a professional baker
I have a friend who does it sometimes
seems like an easy way to get good results
 
4:06 PM
we just got one. i wish there were an easy way to send you a steak.
 
how do you finish them?
 
grill top
 
even now? that's dedication
I only cook on weekends, so at most it's just four meals
I haven't really tried to advance my skills there
 
@JoeObbish what?
 
@PaulWhite well the other day you mentioned challenges of using heaps
I wonder if you'd ran into that one
let's say you have a heap with very skewed partitions. row counts are 1, 1, 1, 99999
if you run a MAXDOP 4 query that scans that heap you'll get 99999 rows on one thread
 
4:12 PM
oh so one union all query per partition?
probably
 
no, I'm scared to do that
feel like it might go badly if you have a lot of partitions
 
ok so you're partitioning the union all query in some other way?
feel free to be explicit and precise
 
well... I plan to
but I need to create an algorithm to do it
the whole thing seems a bit ridiculous
if I were to ask a question, I suppose it would be do you know what the benefits of one partition per thread as an algorithm are?
Something to do with latch contention?
As in, why did MSFT change the way that they did it?
 
@JoeObbish are you talking about technet.microsoft.com/en-us/library/…?
 
yes, sorry if that wasn't clear
 
4:21 PM
> collocated
 
@JoeObbish Well the pre-2008 implementation used an explicit apply model which ended up one thread per partition as a side effect. It was an easy implementation.
@sp_BlitzErik With two Ls
Rushed CUs always seem to lack symbols
 
debugging already?
 
hm
that's... regrettable
 
@sp_BlitzErik I was curious about changes for Spectre, Meltdown etc.
Also waiting for SNAPSHOT_MATERIALIZATION
@Joe I think I've most often ended up with processing a single partition at a time, inside some looping construct.
 
ooh yeah
 
4:30 PM
One would think the ETL tools would have built-in support for looping over partitions
Sliding window maintenance etc.
 
@PaulWhite That's mostly what we do, although we try to process partitions concurrently
There's a scenario in which we combine partitions together though
 
Sure, looping with some pool of workers
 
and process those as a unit
 
Part of the reason I was messing with SSDT/SSIS the other day
 
would a worker table make sense for that?
 
4:33 PM
Certainly one implementation option
 
oh yeah, you'll be proud of me Erik
I successfully used XE to diagnose a problem yesterday
 
you've got one up on me :)
 
I even made it through all of the ridiculous typos in the event and field descriptions
 
I successfully used XE to waste several hours of my time once. Does that count?
It produced xml
 
@JoeObbish you're a machine
 
4:34 PM
@PaulWhite Excellent, things are going as planned :evil laugh:
 
I suspected
 
notice he doesn't comment on SNAPSHOT_MATERIALIZATION
nothing planned, apparently
 
So I made 4 pounds of beef jerky last night, forgot I set an alarm and at 3 am I thought my place was burning down
 
@SeanGallardy-Microsoft I thought you work from home?
 
Life is safer as a vegetarian
 
4:36 PM
@JoeObbish I work from wherever, sometimes from home but last year 40 weeks on the road
 
sounds like poor planning!
what do you use to make the jerky?
 
@PaulWhite @sp_BlitzErik and I discussed last night, we eat vegetarians
 
@SeanGallardy-Microsoft no that was vegans
 
@JoeObbish 1) flesh from a dead cow. 2) an oven
@PaulWhite Their are #1 on the list, but vegetarians will do in a pinch
 
do you do it often? if so I would consider a dehydrator
that's what I use
has a timer so no ruined beef jerky or fires
 
4:37 PM
We lack B vitamins
 
@JoeObbish I like the smokiness :)
@JoeObbish Preach, I was looking at some electric smokers for outdoor use...
 
try liquid smoke!
 
@JoeObbish I have -500% luck with that
 
it really is such an odd product, right?
"liquid smoke"
 
Like when I made my character I rolled +200% to being hit by vehicles and -500% to smoking meats
 
4:38 PM
Like smoked-flavour bacon vs. actually smoked bacon
 
salad eating homebody
 
@SeanGallardy-Microsoft "Florida Man starts huge wildfire due to beef jerky making error"
 
Like "Dry Milk"
@JoeObbish Haha if you ever see that headline.. totally me :)
Send Jerky care packages
@PaulWhite It's bacon, I'm not complaining
 
So dawn broke 15 minutes ago
 
you had it beat by years
 
4:40 PM
@PaulWhite Happy start of the new week!
 
Smokers are v popular here. Flavoured wood chips.
@SeanGallardy-Microsoft Well it's 5:40am Sunday :)
 
@PaulWhite Isn't sunday the start of the week?
 
Monday
 
or do you use those southern hemisphere calendars that start on Monday?
 
heathen
 
4:41 PM
he's a foreigner
they don't understand weeks
 
I have the power of correctness on my side
 
we should liberate them
 
@PaulWhite Let me ask your wife about that...
 
touche
 
Also Re: parallelism, you're right I was thinking parallel branch operators
 
4:42 PM
No worries
I'm not a religious person, but isn't Sunday the traditional day of rest?
 
and for Joe, there should be in the actual XML a <ThreadStat ..... > element
 
Like everything created in 7 days and the last one was a rest day
 
Depends on who you subscribe to
 
To be fair the old continent usually considers Monday the first day of the week too
 
It would seem odd to start the week on a rest day
 
4:43 PM
@PaulWhite that's a terrible motivational poster
 
@TomV They are blessed with the Power of Correctness
 
"Hmmm, 6 days... that's too even. Let me just take a nap... OH CRAP IT'S DAY 7"
 
@SeanGallardy-Microsoft I know how to get the number of workers
I was asking for your preferred method because I thought it would be more convincing to you
 
I was going to say something about sabbath and war but I won't
 
@JoeObbish does you algorithm take into account undocumented workers?
 
4:45 PM
I guess my point is that a rest day usually comes after work is done, not before hand
 
That was totally tongue in cheek btw
 
@SeanGallardy-Microsoft would you like a rant about how terrible parallel scans on partitioned heaps can be? :)
 
@PaulWhite I thought Saturday the "sabbath" was the day of rest?
@JoeObbish Always!
 
@PaulWhite I rest early and often
 
@SeanGallardy-Microsoft I'm no scholar but I think that is "lunch"
 
@JoeObbish It's the American way!
 
you get lunch? Are you hiring?
 
@SeanGallardy-Microsoft it sucks
fix it
 
@JoeObbish I'm totally underwhelmed by this rant.
 
@SeanGallardy-Microsoft hire joe and make him fix it
 
4:47 PM
I even made popcorn
kettlecorn to be exact
 
@SeanGallardy-Microsoft the problem is that you're too nice to rant to
 
@sp_BlitzErik I like this idea :)
@JoeObbish Hahaha, awww shucks. thanks!
 
@PaulWhite in fact I'm resting right now
 
Is talk of resting and not working in America considered pornographic?
or heretical?
@PaulWhite what are you doing up this early?
 
@SeanGallardy-Microsoft Interacting with Americans in their own time zone
 
4:50 PM
@PaulWhite you have my deepest sympathies.
 
Oh it's OK it's entirely my own choice
 
It actually is lunch time here... just on Saturday
 
I work when I feel inclined and sleep when I am tired
 
@PaulWhite That'd be 10% work/90% sleep for me... I do like my ZZZZ's
 
Sleep time is very unevenly partitioned for me
Nothing better than a good long sleep though
 
4:52 PM
Stop using SQL Server to partition it for you ;)
@sp_BlitzErik I am thinking chest today...
@JoeObbish My Jerky is kind of bland, just salt and pepper - I'm allergic to onion, garlic, and soy, among others...
 
8 hour chest day c'mon
 
@sp_BlitzErik 5x5x5, gotta get strong
I'm just a weee tike
 
leave humanity behind
 
@SeanGallardy-Microsoft no wonder you need it to be smoky...
I wonder if anyone is allergic to smoke
 
@JoeObbish My sister, actually :(
 
5:03 PM
what do you guys eat for family meals? water and white rice?
 
she's just smoke and tree nuts
I just recently developed mine, could everything my entire life
also rice is off the list for me.
 
wut
 
Eggs and Milk, too
 
Sean Gallardy: ruining holiday meals since recently
 
LMFAO
May I use that as my new slogan?
 
5:05 PM
sure
 
 
2 hours later…
6:50 PM
HALLO MY PEOPLE.
 
7:05 PM
Hi
 
7:25 PM
Hey
Could anyone answer a few questions about SQL injection prevention
?
 
7:46 PM
okay i asked the question
0
Q: Is it efficient to use plpgsql functions only to validate identifiers and values?

QualpheyWill my queries be safe from SQL injections if I use plpgsql functions only to validate identifiers and values, instead of executing queries. Here are the example functions: CREATE OR REPLACE FUNCTION validate_identifier(identi TEXT) RETURNS TEXT AS $func$ BEGIN RETURN quote_ident(identi); ...

 
 
1 hour later…
9:12 PM
@sp_BlitzErik Just heard from Pedro, UI support will be in the next SSMS release
 
@JoeObbish you still never got that answer from @SeanGallardy-Microsoft.
Just wanted to remind everyone
Maybe I'll answer it today. ;)
 
yesterday, by Sean Gallardy - Microsoft
She should be back next week from here out of office, I'll put a reminder to bug her again
@EvanCarroll ^^^
 
@PaulWhite good morning to you too
 
morning
 
9:19 PM
that's good though. are they going to hire you to write less amateur documentation?
 
@sp_BlitzErik No but there'll be several blog posts from the Tigger Team next week
 
we should start the sql eeyore team
 
@sp_BlitzErik am I invited?
 
only if you dress up as eeyore
 
but why
 
9:22 PM
that's the uniform, ding dong
 
I've never seen Sunil or Pedro wearing a tiger outfit
 
a mostly parallel plan, to some, can look a lot like partly serial
 
is this a philosophical thing?
 
it's just a rip off of my favorite eeyore quote
a mostly sunny day, to some, can look a lot like partly grey
or something
 
I'm seeing blocking on a function definition
a function definition!
this is outrageous
 
9:25 PM
lol
go on.
 
nevermind, I'm too dumb to read a lock graph
 
@JoeObbish Sunil isn't actually a member of the Tiggers
 
What is he now?
oh man, there's a view involved
 
how gratifying
 
CXPACKET is for noobs
 
9:31 PM
it's a jr dba wait
 
Why doesn't dba.stackexchange.com/users/322/frank-heikens have the gold PostgreSQL badge?
 
@sp_BlitzErik Wait category: Other
 
wonder how many of my wait events are in other
 
I'm sure you would
 
9:38 PM
:)
 
so sassy
 
> You must have a total score of 1000 in at least 200 non-community wiki answers to achieve this badge.
perhaps some of his score is from community wiki answers?
 
Only 24 answers in that tag, right?
24 < 200
 
who can possibly know the answer to 200 questions
 
I know it's ridiculous
 
9:49 PM
you don't have to know the answer
you just have to post one
 
That's not the attitude Mr. Obbish
 
that's some real liberal arts nonsense
coloringbook.stackexchange.com
 
everyone gets a prize
 
hahah
 
@PaulWhite it's not?
why doesn't the badge require 200 ACCEPTED answers then?
that seems more in line with what Erik said
 
9:57 PM
sigh
 
> If you notice more than five spills within the same query plan's execution, contact your support professional.
 
@sp_BlitzErik source?
 
"Very rarely, multiple exchange spills can occur within the same execution plan"
ahahahahaha
 
> Rewrite the query to produce a different query execution plan.
 
9:59 PM
@JoeObbish Exchange spills are pretty rare, aren't they?
 
not to me!
 
have you considered rewriting the queries?
 
no
I'm contacting my support professional
 
does anyone have a better reference on exchange spills?
 
10:14 PM
<RunTimeCountersPerThread Thread="6" ActualRows="2731"
<RunTimeCountersPerThread Thread="5" ActualRows="4112"
<RunTimeCountersPerThread Thread="4" ActualRows="2555"
<RunTimeCountersPerThread Thread="3" ActualRows="512933"
<RunTimeCountersPerThread Thread="2" ActualRows="1022"
<RunTimeCountersPerThread Thread="1" ActualRows="674"
oops
 
@sp_BlitzErik I blogged about it
what better reference could there possibly be?
 
link
 
@sp_BlitzErik ORDERBYSELECTNULL.COM
HTH
 
i'm getting an error
non-deterministic ip address
probably needs a sr dba
 
@sp_BlitzErik do you know any?
@sp_BlitzErik that's not even a real error
 
10:24 PM
@JoeObbish no, they're all consultants now
@JoeObbish prove it
 
no u
 
10:36 PM
the exchange spill xe is about the most useless thing i've ever seen
 
11:12 PM
@sp_BlitzErik I know, right?
think there's a quota for XE too?
 
@JoeObbish oh like the 100gb one for tempdb? Not sure what 100gb worth of cxpacket buffers would look like.
 
@sp_BlitzErik I can't find it now, but I read once that there used to be a requirement to release "X new DMVs" with each major version of SQL Server
 
11:29 PM
@JoeObbish there should be one that spellchecks xe session information.
 

« first day (2559 days earlier)      last day (2311 days later) »