« first day (511 days earlier)      last day (178 days later) » 
00:00 - 20:0020:00 - 00:00

12:01 AM
adequate question, new guy
 
12:14 AM
looks like no good questions were asked today
at this rate I'll never become an MVP
 
you're my mvp
 
@ErikDarling for u
 
4eva
 
> claim to unironically be master race
> 100001 begging comments for a free PC game
 
who is making this unironic claim
oh
the subreddit name
No, not really, but feel free to elaborate on what aspects of the choice of RDBMS will affect this. — paulinho 59 secs ago
 
12:22 AM
@ErikDarling 2 close votes within a minute
STRONG comment
I strongly suspected it would go like that but thought I'd give OP a chance
 
i commented and already regret it
 
you can delete the comment
 
i feel like it's been seen already
 
 
1 hour later…
1:53 AM
@ErikDarling so? you can still delete it
 
I'd rather the question get deleted
 
not clear how those two events are related
 
I hope that my comment spurs people to close and delete the question but I'm simultaneously dreading a response from OP.
 
3:03 AM
Erik's never met a question he didn't want to delete
 
3:39 AM
It seems like there could be a good answer to that question, but it sounds more relevant to academia. Like you could answer the question by citing research papers about query optimization.
 
 
8 hours later…
11:46 AM
A fun thought experiment is to imagine the person they expect to answer that question
 
12:24 PM
I could answer it badly if that helps
 
12:34 PM
that would fit well in your ouevre
 
Hey how dare you I'm not a horse
 
unproven claims
 
go on
are you getting amped for big data clusters?
or node paths?
 
> Set MIN and MAX server memory values at setup
What an odd way to write that haha.
 
12:43 PM
maybe they fixed MaxDOP
the download bits still say 3.0
@SeanGallardy i found a real gym for you: twitter.com/SS_strength/status/1143860474787913728
 
Hey has anyone seen any use cases for turning Parameter sniffing off
the contained DB option introduced in... 2016?
 
ehh
i've seen uses for the equivalent in individual queries, but not for an entire workload
 
> SQL Server Setup includes Max Server Memory recommendations for a single instance deployment that follow the documented guidelines.
That was the original version.
 
It feels a bit like putting a blindfold over the optimisers eyes so I can get that
 
Does that just make everything OPTIMIZE FOR UNKNOWN?
I've never used it.
 
12:55 PM
yeah
it can work okay when you have distributions like this
for most values you want a big plan, and when you get a small value plan it's absolutely poisonous
the density guess is really high though, so it prevents that
 
Ah, wow, that makes sense.
I'm impressed that example was just off the top of your head.
It's like you've thought about this kind of stuff a lot.
 
1:15 PM
That looks the same as the previous link.
 
It's different if you're logged in
 
or if you try hard enough
 
that can also make a difference
but we have reasonable expectations of New Contributors
 
@ErikDarling Hm. I wonder how in general this compares to just sticking recompile on the query
 
-_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________-
 
1:29 PM
Wow I've never seen a smile that wide you must be really happy!
I would assume that the performance loss due to optimise for unknown is likely far bigger than the extra time spent compiling the query. Suppose it depends how often it's run / compiled
 
why would optimize for unknown take less compiling time?
 
@Forrest After the plan is already compiled the first time i mean
Optimise for unknown will usually run slower than an individually optimised plan right? That's what I mean. There will be a tipping point based on how often the query is used
 
Ohhh, versus RECOMPILE you mean
 
yeah exactly
 
@George.Palacios only thing that comes to mind is if you have parameter sniffing issues for vendor code that you can't modify
 
1:44 PM
Yeah. It'd have to be pretty trash too to mandate turning sniffing off for all queries
 
it's just for that database though, but yes
 
@George.Palacios tough to make a blanket statement, that's why the guidance of a skilled database practitioner is required to validate the use case
 
@ErikDarling bigfoot might be available to help too
 
someone's jaded this morning
 
@ErikDarling no u
it was a LIGHTHEARTED comment
 
1:52 PM
Speaking of Bigfoot - I remember L was looking into plans where query_hash = query_plan_hash...did he ever follow up on that?
 
@ErikDarling Where can I find one of those?
 
@Forrest yes, it's on his blog
 
@JoeObbish Hopefully not a twitter mini blog! Thanks Joe.
 
@George.Palacios have you checked the data platform mvp website?
 
no, the real blog. do you need a link?
 
1:54 PM
no, finding now
 
@ErikDarling and you called me "jaded"
 
@ErikDarling Nah I've just posted on twitter
 
@JoeObbish they recently SNUBBED a dear friend. my spite is renewed.
 
@George.Palacios Almost all of the room owners for this room qualify.
 
@ErikDarling Maybe I should be presenting at that gym lol
 
1:57 PM
@SeanGallardy i've heard more jaded statements this morning
(from joe)
 
@ErikDarling CARRY ON
 
no directive to keep calm noted
 
@JoshDarnell I was joking really
I didn't think I had to JEAGL here but alas, text over the internet is hard
 
@George.Palacios I know 😃
I was being self-deprecating (so also joking).
 
we need to help Josh up his confidence
 
2:07 PM
Lol
The world is far too subtle for me today
 
geOrge.Palacios
3
looks like we got a spy
 
@George.Palacios It was very popular with the Dynamics AX crowd
There was a blog post somewhere let me see if I can find it
TomV could probably tell you all about it as well
 
I'll always remember the lesson that TomV taught me early on in my SE career
 
@PaulWhite You know now you say that it makes sense.
Dynamics has always been interesting
 
2:19 PM
thanks a lot
 
@JoeObbish Please share!
 
never try to answer a dynamics AX question here
 
words of wisdom
 
You know, I haven't heard Tom talk about Dynamics recently. He also seems happier.
 
2:42 PM
@JoshDarnell Comment flag?
 
Sorry, feel free to decline. That was a mistake.
 
coolio
 
2:57 PM
@JoeObbish his jadedness strikes again
 
@ErikDarling @Lamak agreed with me though
 
lamak is so jaded he's worshipped by the chinese
idk why you think that's a point in your favor
why does this chicken taste like fish
 
"Lamak agreed with me" is never a strong argument
 
"erik checked my math"
"paul said the meat looked cooked"
"josh said it's good whiskey"
"forrest said it's a good joke"
hm
 
"sean said it looked heavy"
 
3:07 PM
oh
"max said it's a cool hat"
 
@PaulWhite I mean....what about using PowerPoint like a poor's man photoshop?
 
you should blog about that
maybe you can become an office mvp for mysterious reasons too
 
@ErikDarling the reasons are not that mysterious though….I'm in a 3rd world country, poor standards, and participate quite enough locally...
 
it's okay when you say that
 
we need to help Josh Lamak up his confidence
 
3:13 PM
today is the last day of school
 
@SeanGallardy why is support recommending against LPIM?
 
support is always recommending nolock
 
@PaulWhite it's actually the strongest argument if you think about it because Lamak is so contrary
 
makes no sense
 
he's a low information contrarian
like people in bowling alleys
 
3:18 PM
@PaulWhite for u
 
yes
 
@ErikDarling how prejudiced of you
 
Lamak draws the line at insulting bowlers
 
those are his people
 
@JoeObbish Came across a server with LPIM enabled, SQL max mem set to 80 GB and it only had 40 GB of RAM. That was interesting when the OS basically ran out of memory and the whole machine died
 
3:28 PM
2 hours ago, by Erik Darling
@George.Palacios tough to make a blanket statement, that's why the guidance of a skilled database practitioner is required to validate the use case
 
@ErikDarling I keep asking for one but I can't find any
It's a wasteland out here man
There's a guy over there < that's pretty good with Excel. I'll ask him
 
excel is the first database to not have performance issues with functions
sql server should spend less time on froid and more time on autofill
 
I see you haven't come across Notepad.exe
 
Interesting that checkpoints in simple mode recovery are triggered when the log is 70% full, yet an automatic checkpoint doesn't seem to occur when the log is full and an error is generated by a transaction running out of log space. Blog post incoming for tomorrow.
 
what good would a checkpoint do?
 
3:42 PM
truncate the log
unless I'm missing something :-)
I'm using an extended events session to watch checkpoints happen while I fill the log. They occur roughly every couple of minutes, but of course they can't actually clear the log because the transaction is continuuing.
:50824048 there are system generated checkpoints occurring, but it seems like only when the log is actively being written to (above 70% full). Once the transaction rolls back, no automatic checkpoint seems to occur.
 
Oh odd
Have you tried setting recovery interval to really low?
like EXEC sp_configure 'recovery interval','1' or something
 
yah, seems like a bit of an edge case, but interesting none the less. I'm keeping all the checkpoint settings to defaults because most folks will have it setup like that.
 
I just wonder if it's some odd artefact of the calculation of the recovery time
 
I ran a transaction last night that filled the log in this test database. This morning, after many hours of nothing happening, no automatic checkpoint had occurred, and the log was 99.6% full, with over 7GB of log records.
recovery time would still probably be under a minute though.
the implication is, if you fill the log with a very large transaction, and no automatic checkpoint occurs, other transactions may get "log full" errors without causing an automatic checkpoint.
 
well.,
That seems... oddly broken
It is definitely an edge case but still
 
3:51 PM
SQL Server 2016 SP2 v 13.0.5081
 
@MaxVernon if one transaction is filling the log then...
 
This is following the rollback right?
 
I've seen ACTIVE_TRANSACTION in the log_reuse_wait_desc column in sys.databases with no active transactions in sight. I've been wondering how that could occur with automatic checkpointing, but this seems to point to a potential answer.
@George.Palacios yah, the rollback completely finished.
@ErikDarling like I said, it's an edge case. But probably not one that is all that uncommon where devs write code.
 
I'd be interested in seeing if the recovery interval option made it work or not
 
that'll definitely be something I'll look at.
 
3:57 PM
did the transaction rollback because the log was full or because you rolled it back?
 
full log
 
i wonder if there's a difference
 
I was just thinking that
It'd be interesting to see if the parity column is flipped in dbcc loginfo after the rollback or not also
 
I've tried it both ways. As just a single statement, like UPDATE blah SET x = 't'; and wrapped in a TRY...CATCH with a ROLLBACK in the catch. Either way seems to be the same with regards to the checkpoint not happening.
 
Well I just subbed. Looking forward to the blog :)
 
4:03 PM
cheers
 
@MaxVernon you might need to control for direct vs indirect checkpoints
 
@JoeObbish I have code that does a checkpoint after the manual rollback - that clears the log just fine. (assuming that's what you mean)
 
possibly of interest: in the past I've written inserts in a tight loop (one transaction per insert) that filled the log with a simple recovery model. had to add a checkpoint to the loop
 
I have code that goes both ways ;-)
 
4:05 PM
@JoeObbish that's the finding, pretty much.
@JoeObbish thanks - I hadn't seen that post before now.
target_recovery_time_in_seconds is 60, as would be expected for a newly created database on 2016+
I wonder if there is a way to determine if the system checkpoint is indirect or automatic, via Extended Events... looking for that now.
 
4:23 PM
If I understand what you're talking about correctly, I have seen this question before. The misconception is that an automatic checkpoint should happen whenever the log is more than 70% full. That's not what the docs say. They say an additional automatic checkpoint is queued if the log becomes 70% full.
The other thing is that checkpoints are a recovery time feature, not a log size management feature.
 
am i missing anything here?
0
Q: Grant dbcreator only for databases matching prefix

metatursoIn Microsoft SQLServer 2017+ I would like to grant the dbcreator role on a single user but only allow her to create databases whose name matches a fixed prefix. Is it possible to do this at the database level using a built-in feature or a stored procedure?

 
seems reasonable. does it work?
 
in my limited tests, yeah
 
have a limited upvote then
 
wouldn't want you to overextend yourself
3.1 bits still not available
i should complain on twitter
maybe i'll @ a few people
 
4:30 PM
doesn't seem v exciting anyway
 
reprimand their lack of hustle
@PaulWhite not in a documented way, no
 
oh I see
 
it's always the stuff they leave out
that's the best stuff
i recently had someone on the optimizer team tell me that variable assignment is very expensive
i think they're dodging my question
 
probably embarrassed
 
"everything has overhead" is the "sql server is always waiting" of dodges
 
4:35 PM
@PaulWhite agreed. I didn't read it like the checkpoint would continue to occur after the log reaches 70% - the docs are clear that a checkpoint is queued when the log reaches 70%. I am seeing system generated checkpoints occurring frequently after the log is very full, though.
@PaulWhite that is a good point, too!
 
@MaxVernon Right but the post-70% checkpoints are being triggered by log generation, not passing the threshold
@MaxVernon for me it's the main point
 
@PaulWhite huh? I don't get it. Forgive my ignorance :-)
 
> ...the Database Engine generates automatic checkpoints. The frequency depends on the recovery interval advanced server configuration option, which specifies the maximum time that a given server instance should use to recover a database during a system restart.
> The Database Engine estimates the maximum number of log records it can process within the recovery interval. When a database using automatic checkpoints reaches this maximum number of log records, the Database Engine issues an checkpoint on the database.
 
oh of course. There are enough log records that it continuously (or thereabouts) triggers checkpoints.
 
@PaulWhite "an checkpoint"?, is that correct?
 
4:40 PM
@Lamak no it's a typo in the docs
I won't repeat the link because it's right there in the transcript
 
subtle burn
s'burnt
 
meh, I don't care if there's a typo, just wanted to know if it was right or wrong
 
data platform mvp doesn't care about the community
more at 11
 
certainly a lot of mvpness envy in this room
7
 
@ErikDarling there are bigger issues with docs than some typo
 
4:43 PM
@PaulWhite I'm guessing here, but the thread that determines whether a checkpoint is necessary only gets fired when a log record gets inserted into the log. Hence, why I'm not seeing a checkpoint for hours on end in this database that has nothing going on, even though the log is 99.8% full, and very large.
 
and they certainly can get better proofreaders than me
 
@MaxVernon no log is being generated so why would there be a checkpoint?
 
@PaulWhite exactly
thanks for helping
its much clearer now
 
no worries
 
heehee pness
 
4:55 PM
@ErikDarling 3.1 is out?
 
4 hours ago, by Josh Darnell
https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-ver15?view=sqlallproducts-allversions#ctp-31-june-2019
Our man with the NEWs
 
looked like an unsafe link
@PaulWhite thanks, I would have been happier not reading that
 
more like 3.01
2
 
I hope Sean gets a ticket about "Train an MLeap machine learning model in Spark and score it in SQL Server using the Java language extension."
 
5:15 PM
@JoeObbish Friends shouldn't wish bad things on friends :X
Sorry guys, I've been sick with some kind of cold the last couple days
still sick, but starting to feel better
 
@SeanGallardy where's your "can do!" attitude?
 
@SeanGallardy glad to hear it
 
@JoeObbish In the hot garbage dumpster fire that is Java
 
@SeanGallardy Java has gotten much better since Oracle acquired it
 
Can we please get some concrete revenue numbers that justify having to put up ads on the other sites? — Sonic the Bracketed Hedgehog Jun 20 at 1:05
 
5:20 PM
OMG, looking at old code I wrote is terrible for my ego.
 
@JoshDarnell That post has gone pretty well
 
What an odd, entitled-seeming comment from ol' Sonic.
@PaulWhite Heh, I'm surprised at has 100 upvotes.
 
@JoshDarnell Does it really
 
+103 / -308
 
@JoeObbish Did it though?
 
5:24 PM
votes from advertisers no doubt
 
can't we just make the OPs pay for it somehow?
implement an OP tax
 
3.1 bits are out
 
yay?
 
and you say I'm jaded
 
Erik didn't seem that enthused about 3.1 this morning.
 
5:32 PM
another jaded room owner self-identifies
 
download speed is pretty low here
1 hour remaining
 
5:51 PM
well at least you're in good company
heh
HEH
 
1 minute left
typical progress bar
 
well nevermind then
i had prepared games and speeches
 
threw caution to the wind and went for the in-place upgrade
 
gasp
Sounds like an unsupported configuration.
 
does it
> CTP 3.1 enables the following scenarios:
> In-place upgrade. Upgrade instances of SQL Server 2019 CTP 3.1 from instances of SQL Server 2012 through SQL Server 2017 and SQL Server CTP 3.0. Upgrade from a SQL Server 2019 CTP below 3.0 is not supported, a new installation must be performed.
 
6:02 PM
Josh in ruins
😅
> SQL Server 2019 CTP 3.1 is preview software. It is not publicly supported for operations
There.
Not supported.
 
um
if you upgrade how do you compare old versions
 
Paul has everything from 3.0 memorized.
 
@ErikDarling that's not how I roll
 
Ahh i see, for 2016 its faster like 5-10 secs. The ones in SQL2012/2014 its about a min with hint and about 3-4 mins without them. I am checking if this can be further improved as for 2012/2104 i can use 8649 but does not help that much, but yes still works. Overall your answer works my req, will check on how to make this faster. Thanks a ton, again. — BeginnerDBA 6 mins ago
Erik best query tuner.
 
😭
 
6:06 PM
Is there anti-spool armor for pre-2016 versions?
Probably temp tables.
 
QUERYTRACEON 8690
 
> Not reading the documentation
 
Oh man.
Very OP of me.
I didn't even try to search.
Just asked in here.
 
QUERYTRACEOP
 
I need to think about my life for a minute.
2
Okay.
 
6:13 PM
@JoshDarnell that's my schtick. don't steal my schtick.
 
#neveragain
 
> It is not publicly supported for OPerationS
 
I actually can't find that TF in the docs list of trace flags. I did find it mentioned on the CSS blog. I guess that blog is enough to make it considered documented and supported?
 
6:31 PM
@JoshDarnell if tweets can go to the library of congress, blogs can be support docs
 
@JoshDarnell CSS blog > docs
docs can be edited by OPs and are riddled with typos
 
@ErikDarling It's hard to argue with that logic.
@PaulWhite Hm, fair point.
Maybe I'll edit that TF into the docs page.
 
make sure you type it as 8960
 
"on behalf of jack li"
 
> 8960 - Disables pefroomance sppols
 
6:37 PM
"disables parfait dispenser"
 
Hahaha
 
spOPls
 
That is an appalling screenshot though: blogs.msdn.microsoft.com/psssql/2015/12/15/…
 
@JoshDarnell i usually go here to look at tfs
 
@JoshDarnell using the same fuzzy filter Erik uses
 
6:39 PM
@PaulWhite webex?
 
could be
 
@ErikDarling Jesus how new am I?!
 
👋
 
I've never seen that page before.
Thanks!
 
6:59 PM
can someone send me a download link to 3.1? TIA~
 
finally got on an xml question
1
Q: for xml path('') output

kevinnwhatWhen I run the following select t.type from (values ('Green'),('Blue'),('Red')) as t(type) for xml path('') I receive this output <type>Green</type> <type>Blue</type> <type>Red</type> If I run the following select t.type + '/' from (values ('Green'),('Blue'),('Red')) as t(type) f...

 
7:21 PM
description should read
> SQL Server 2019 CTP 3.1 Evaluation Edition
well i'm not fixing that
 
@ErikDarling I was hoping for an EXE link
 
sounds like you want someone to break the EULA
 
the EULA is agreed to when you install, not when you download
 
but i've already installed
:(
 
7:51 PM
@ErikDarling nevermind I'm good
oh, the site autofills now
kind of weird that you can get someone's personal info with just their name but what do I know
 
?
 
oh it's a firefix thing, weird
 
sounds more like a firebroke thing eh
2 messages moved to Trash
is the main site not responding for anyone else?
 
@ErikDarling yup, not working for me
 
00:00 - 20:0020:00 - 00:00

« first day (511 days earlier)      last day (178 days later) »