« first day (1490 days earlier)      last day (3384 days later) » 
01:00 - 18:0018:00 - 23:00

6:00 PM
@JNK That's kind of what I thought... They were offering really good money for London, but seemed to be looking for odd and arbitrary skills and were proud of dubious things like building their own SQL Server monitoring system
 
JNK
@MikeFal what kind of minutia do you quiz on?
 
To be clear, I'm only going to ask a minutia question if someone has a solid grasp of the stuff leading up to it.
 
JNK
@JamesLupolt yeah a bit too clever for their own good
 
@JNK What a CHECKPOINT is or what a VLF is, if they have a good grasp of recovery mechanics.
 
JNK
gotcha
 
6:02 PM
It varies depending on how the interview goes.
 
I nearly walked from this place based on the pre-screening questions. "How many threads does SSIS use natively" and it's some stupid formula that has never affected my ability to design a package
 
JNK
I have ideas on those but not really my wheelhouse
 
i'd rather someone know the difference between IAM/SGAM and PFS than how to UNPIVOT
 
JNK
well a checkpoint I think I know, that's when you flush dirty pages right?
often used to make sure backup is at a clean point or some such?
 
@JNK Yup.
 
6:03 PM
Checkpoints are an invasion of our fifth amendment rights and I hate SQL Server for supporting them
 
JNK
@billinkc Keep your queries of MY pages!
 
@JNK make sure you wipe first
 
JNK
@swasheck why do you think the pages are dirty?
 
You can take my leaf nodes from my cold, dead cache
 
@JNK Or not as clever as they think they are
 
6:04 PM
@JamesLupolt more likely
 
But, admittedly, better probably better UNPIVOTers than me : )
 
JNK
@JamesLupolt yeah that too. I always say "a little knowledge is a dangerous thing"
 
@JamesLupolt Yeah, I might ask you the UNPIVOT question, but I'd only ding you if you tried to bullshit me about it.
 
BRB food.
 
My old boss and I differed on interview styles. He liked to see that someone knew X, Y and Z. I prefer a conversational style - talk to me about what you've done and see how well they understand and can communicate what they did. What went well, what blew up in their face, what lesson did they learn
 
JNK
6:07 PM
@billinkc I do like asking Qs like Mike mentions though, mainly to see if they BS their way through or if they can admit ignorance
Most of my interviews are dev-related though
And I'm interviewing .NET devs who will do some SQL and list SQL on their resume
 
But then you might throw out someone like James who couldn't remember the syntax for unpivot. Or, you get them flustered thinking "god, it's one of these interviews"
 
JNK
so it's like "Describe what a clustered index is"
@billinkc I wouldn't throw him out for it at all. I would ask "describe how an unpivot works" and if they tried to obfuscate it would be a red flag
if they said "I'm not sure but it's a quick google" I would be delighted
 
^^^
 
As an admin, if I'm interviewing for a position, I need to establish skill set. Because if they don't have certain abilities, hiring them means I have to baby sit them.
 
JNK
I mean even MVPs/MCMs forget syntax for things like MERGE
 
6:10 PM
that's because they hate it
 
JNK
I think understanding the concepts is more important than memorizing syntax
 
Hell, I need to look at syntax all the time.
 
JNK
If you can tell me what a MERGE does, you are 3/4 of the way to using it
 
@JNK I know at least one who doesn't know the precedence order for AND / OR operators ;)
 
@mmarie I suggested UNPIVOT to a co-worker last week and then blew their mind when they saw unpivoting via CROSS APPLY
 
6:15 PM
When checking the backups for this database it appears that the last backup was done on 10/10/2014. I don't think that backing up to that date is going to be a possibility. We would lose several months of data. — jbartley 1 min ago
 
@bluefeet showoff
 
Now there's someone who cares about their data
 
@swasheck well yes, with pivot and unpivot. But that's about it for my skillz
 
@AaronBertrand finding my simon the mad irishman llink
 
JNK
@AaronBertrand at least they can figure out that was several months ago
 
6:17 PM
> our Database team is pretty well clueless
And no backup since 2014? Ya think?
 
JNK
also thanks @ypercube I felt like I was going off track on that comment thread
@AaronBertrand in his defense he mentions he's not on the DB team in the Q
 
@JNK well I don't mean that person specifically but the company in general
 
Think 160 slides + demos can go 8 hours (minus lunch and bio breaks)?
 
Depends on how fast you read the slides to them
I've never actually seen you present. I should correct this at some point
 
6:22 PM
@billinkc I approach pre-cons differently than regular sessions, I actually fill the slides with info because I know half of them will fall asleep at various points, and want them to take the info with them
But yeah I do tend to talk fast. At intersection I finished my 75 minute talk on SQL Server 2014 features in 45 minutes.
It wasn't for shortage of info, I was just a motor mouth
 
@AaronBertrand and no hecklers
 
that'll never happen
 
@MaxVernon yeah did I go over in Winnipeg? Blur now
 
I need to experiment with longer (and shorter) talks. I think I can put a talk together for the 60-75 minute format. The 2 hour session I did at Mile High Tech Con got painful after a while
 
@AaronBertrand I don't think you got to the end. Either way, it was an excellent talk!
 
6:28 PM
I've only a pre-con with others before, never solo, so I'm a little nervous that will happen to me too
@MaxVernon Yeah I think I remember glossing over a few slides now
@MaxVernon the poutine didn't help
 
@AaronBertrand no no, the poutine always helps :-)
 
I want to hit the Nova Scotia SQL Saturday
 
@billinkc why? what did it ever do to you?
 
@swasheck I chuckled
 
They produce awesome Irish traditional muscians
 
6:32 PM
@JNK I wasn't 100% sure of what you meant - but it seems sensible.
 
@mmarie thanks
 
6:46 PM
0
A: T SQL Table Valued Function to Split a Column on commas

sqldriverI have been using and loving Jeff Moden's string splitter just about since it came out. Tally OH! An Improved SQL 8K “CSV Splitter” Function

 
@ypercube ejected from the game for instigating
 
I am not a DBA...it is not my responsibility. It has become my responsibility because this allocation error is not allowing a backup to run on the server that I need to run a backup on. As I stated earlier, the database team here should be replaced with competent DBAs. — jbartley 34 mins ago
I've never understood the "it's not my responsibility" response. Unless you're a consultant with a SOW spelling out what you're supposed to do, we all work for the same company and it's your responsibility to correct things that are broken. If you aren't physically capable of changing it, escalate until you get someone who is
</soapbox>
 
7:04 PM
@billinkc I think he meant "it isn't (wasn't) my responsibility to take backups"
 
Hmmm perhaps. I still like my soapbox. It's a comfy place to stand
 
@billinkc @Shanky agrees with you.
But right now responsibility is with you. So could you try option I have mentioned. I agree its case of accidental DBA — Shanky 45 mins ago
 
7:30 PM
Sounds like a nasty sysadmin vs DBA fight
 
I don't fight with my sysadmins. I tell them how it is.
 
i am curious about the DBCC PAGE dump
 
7:49 PM
Money shot about 30 seconds into the video
Ohhhh, if I get accepted for the Madison SQL Saturday, I'll need to work that into my presentation.
 
@Zane i have an answer for you
for stats updates other than fullscan, the engine scans the same pages every time and samples rows from those pages in order to collect stats
 
@swasheck interesting
@billinkc I'm pretty sure you're going to be accepted.
 
8:06 PM
I can hope but there's always plenty of quality folks submitting sessions
 
@billinkc don't send them any pictures
 
@billinkc if you don't get in than I'm certainly boned.
 
hometown discount
 
8:21 PM
@Zane It depends on what they are going for. Some SQL Sats go for big names first, others go for encouraging new speakers first, some try to strike a nice balance.
And some don't look at the speaker at all, and just pick based upon session abstracts.
 
Send a block of cheddar, bratwurst and beer with your submission. Bribery never hurts
 
true. but wouldn't you want to send them something they don't have rather than the things they are surrounded by and probably using as speaker gifts?
 
@mmarie you can't ship personality. kidding. it was just too easy.
 
@billinkc I here Ireland has a good line in that, too.
 
But this way they won't have to hop on their tauntaun once they run out at home
 
8:25 PM
100% of the minnesotans i know have great personality.
 
@swasheck are you forgetting that I am in fact from Minnesota?
 
you're the 100%
 
@zane Most SQL Saturdays I know of try and get as many speakers as possible. So your chances tend to be pretty good, especially if you're local.
I know in Denver we pretty much take all local speakers.
 
It looks like they had about 35 speakers submit, so there is a possibility they could take everyone, depending on the size of the venue.
We found the danger in accepting everyone last year... some people had little to no people in their room. Although that might have been the combination of Bob Ward + Glenn Berry hogging all the DBA audience.
 
@MikeFal last year made that pretty obvious
 
8:37 PM
@mmarie I had a full room :)
 
@mmarie yeah. bobward would be a tremendous draw
 
However I was not up against any juggernauts like that.
 
this year i'm DFL in the rotation at ABQ
 
DFL?
 
Dallas Florida
 
8:46 PM
dead frickin' last
 
I wouldn't classify the other people in the last slot for ABQ as those picked last
 
@swasheck That's just SQL Sat ABQ finishing the day strong
 
@billinkc i didnt say picked ... just noting that i'm at the caboose end of it. no value attached to it at all
@MikeFal sure. i can see that :)
 
Nice thing about being last is that you can set the tone for what they take away from the event
And off to a meeting
 
i'll probably have an attendance of 3 or 4 again. :)
 
9:16 PM
Oh my
SUBSTRING(ct.case_text, CHARINDEX(CHAR(9), ct.case_text, CHARINDEX(CHAR(9), ct.case_text, CHARINDEX(
          CHAR(9), ct.case_text, CHARINDEX(CHAR(9), ct.case_text, CHARINDEX(CHAR(9), ct.case_text,
              CHARINDEX(CHAR(9), ct.case_text, CHARINDEX(CHAR(9), ct.case_text, CHARINDEX(CHAR(9), ct.
                    case_text) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1, CHARINDEX(CHAR(9), ct.case_text, CHARINDEX(CHAR(9), ct.case_text, CHARINDEX(CHAR(9), ct.case_text, CHARINDEX(CHAR(9), ct.case_text, CHARINDEX(
0
Q: Invalid length parameter passed to the SUBSTRING function - date format related

Charlie CarwileThe query below returns the following error: "Invalid length parameter passed to the LEFT or SUBSTRING function." When it runs correctly, it returns the case_id and the data between the 8th and 9th tab characters in the ct.case_text column. The parameters for the SUBSTRING function in the que...

 
Oh my god, wtf is that
 
@mike That made me laugh on camera during my meeting
 
Can compete with brainfuck
5
A: Printing a number in brainfuck?

itchynyuse a famous modulo procedure ( http://esolangs.org/wiki/brainfuck_algorithms will help you) >+++++++++++[-<+++++++++++++++>] # initialize 165 at first cell >++++++++++<<[->+>-[>+>>]>[+[-<+>]>+>>]<<<<<<]>>[-]>>>++++++++++<[->-[>+>>]>[+[- <+>]>+>>]<<<<<]>[-]>>[>++++++[-<++++++++>]<.<<+>+>[-]]<[<[->-

 
9:43 PM
@swasheck When did you have an attendance of 3 or 4? I vaguely remember you having a decent crowd when i saw you speak.
 
@mmarie colorado springs
but i was in the same timeslot as doug lane and rick lowe
 
Oh. I think that was also just a small sql sat. Most of the rooms help 20 or less from what i remember.
yeah, i ditched you for Doug in Colorado Springs. Sorry
 
i would have too :)
 
+1 but I still don't know why you continue to insist this is super fast, or maybe I don't know what fast is relative to - for this specific problem, it didn't come anywhere near the fastest in my tests. — Aaron Bertrand 7 mins ago
 
fighting with moden by proxy now?
 
9:47 PM
@AaronBertrand he is the same one constantly tells users to use crosstab
 
@bluefeet what's that? that's a postgres function
 
@swasheck pretty much, these poor sheep have been brainwashed into thinking this thing is the panacea of all T-SQL problems. It works, ok, but stop calling it fast, because it is anything but.
 
@AaronBertrand yeah. i dont think i knew that string splitting was such a big deal in set theory.
 
@swasheck it is when you think JSON is a set
and when "theory" means "I just need to get this garbage to work"
 
:) oh well. we've all got our own heroes, i guess.
now he's talking about moden's piece. i'd stay away from that
 
9:54 PM
@swasheck here is an example
throwing hardware at a performance problem is never going to solve the issue. Not sure how Pagination has anything to do with this. I don't use PIVOT in t-sql. I use cross tabs instead. They are easier to code and the performance is better too. All things being equal I would much rather push clean data to the application layer and let it deal with the formatting. — Sean Lange Jan 29 at 16:10
 
@bluefeet wtf does that even mean? import data into excel?
 
@swasheck He references a sqlservercentral article many times telling people to use aggregate/CASE
 
Import into access
 
@bluefeet for which pivot is essentially semantic sugar
 
hello, is there a way to disable DELETE statement in sql-server without a WHERE ?
 
9:55 PM
(according to @PaulWhite)
 
@swasheck exactly
 
@EmilioGort DENY
 
kidding
 
is there a way to do that? @swasheck
 
9:56 PM
 
@ypercube that looks very phast
 
(φαστ, read: fast)
 
@EmilioGort deny a unbounded delete. no. i dont think so. just deny it to everyone that you dont trust
 
Fajitas goooooood. Burps
 
@EmilioGort What would the gain be? (if there was a way)
 
9:59 PM
there are some developers that have access to the db, one yesterday delete a table by error, just executing the first line of the delete
i want to avoid that happen again
 
percussive administration
 
@EmilioGort They will manage to use WHERE 1=1
 
@EmilioGort sure, use an instead of trigger.
 
but that is if you wnat delete all, but in this case is to avoid errors like that guy that just execute the first line, he has the where in the second line
 
@EmilioGort There is no way for SQL Server to know that the user meant to highlight a where clause. If you want to allow delete everything if they really mean it, then support that through a specific stored procedure.
 
10:01 PM
@AaronBertrand instead of trigger??
 
INSTEAD OF DELETE
AS
THROW 666, 'IDIOT! FILTER IT!!!',1;
 
@swasheck yes, but the damage is done
 
sigh please go read about instead of triggers. They prevent the damage from being done.
That's why they're called "instead of" and not "after"
You could do something really painful like

IF @@ROWCOUNT < (SELECT COUNT(*) FROM dbo.table)
DELETE ...
 
Switch to Oracle for their default of everything's in a transaction
Of course, then you get a different sort of problem
 
10:04 PM
You can also thwap wrists with a ruler
 
@AaronBertrand right. percussive administration ;)
 
thanks @AaronBertrand, I was thinking in BEGIN TRANSACTION @TranName;
GO
USE AdventureWorks;
GO
DELETE FROM AdventureWorks.HumanResources.JobCandidate
WHERE JobCandidateID = 13;
GO

COMMIT TRANSACTION MyTransaction;
GO
but yours is another idea
 
If you can't get them to highlight the WHERE clause, how are you going to get them to do all that?
2
 
that is why i wanted to disable DELETE statement without a where clause
beside they can do where 1=1
 
Give them local instances. They shoot themselves in the foot, they restore
 
10:08 PM
@billinkc duh. they're testing in production.
 
no is a dev database we have
 
@EmilioGort stop thinking about "delete without a where clause" and think about either (a) forcing DML through stored procedures or (b) using an instead of trigger to prevent deletes that delete all rows.
 
ok
i'm reading the link you give me
thanks
 
uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 
I need to go eat dinner before I say something I may regret (again)
 
10:12 PM
SCREENCAP!!!!
 
IF @@ROWCOUNT >= (SELECT COUNT(*) FROM dbo.table)
ALTER LOGIN SUSER_NAME() DISABLE
2
Just joking, I don't even think that would parse
 
ahahahhaha
 
@JamesLupolt you'd need dynamic sql, i think ;)
 
@JamesLupolt No but it is a good idea, or setting the password to "k33p_0ut"
 
once again, i'm rong
 
10:14 PM
@JamesLupolt sp_send_dbmail @subject=N'Drinks are on me', @body='I just nuked a table, first round of after work drinks are on me';
 
@AaronBertrand password: "I'm a moron. Please allow me to login and truncate tables"
 
@swasheck no you were right, you can do that with dynamic SQL. I just meant it wouldn't parse as is.
 
@AaronBertrand well there's a shock. i was right about something. i dont think i'd want to implement dynamic sql for something so important, though :)
> A conspiracy theory was out late Sunday night after the 28-24 loss to the New England Patriots in the Super Bowl that Carroll changed the play to a pass so Russell Wilson would win the MVP award and not Marshawn Lynch.
 
Windows 10 on the Rasperry Pi. Wow. dev.windows.com/en-us/featured/raspberrypi2support
 
@swasheck OMG, people just want to invent controversy to hear themselves speak.
@Phil what's a raspberry beret?
 
10:19 PM
@AaronBertrand it's truly pathetic.
 
@billinkc you can auto commit if you want
 
If there is any truth to that, then they all got exactly what they deserved.
 
All of the above just reminds me that ROLLBACK exists for a reason...
 
@AaronBertrand exactly. never been a pete carroll fan anyway.
 
10:20 PM
(They deserved it anyway after the taunting into the camera during the game, and the "pooping a ball" TD celebration.)
 
@Phil I'm afraid of commitment
 
if you technically need to protect developers from their own stupidity, stop hiring based on the infinite monkeys principle.
 
@Phil it's amazing what passes for a "developer" these days
 
@Phil Tough to convince management who are hired based on the same principle.
 
Both true
 
10:22 PM
Because of the SQL standards that are enforced we have to follow these restrictions:
- Cannot use Stored Procedures
- No single piece of code to contain **more than 3 table joins**
- No single piece of code to result in more than 30 million rows of output
 
deadspin.com/… <-- in case you missed the poop celebration
 
All hail the Standards. I do penance once a week and offer alms daily to them
 
@ypercube How much code is a single piece?
 
I hope they restrict the DELETE WHERE as well: dba.stackexchange.com/questions/83639/…
 
@AaronBertrand randy moss was fined for less than that
 
10:24 PM
@swasheck that's because he played for the villified Patriots, not the darling Seahawks
 
🐒+💻=💩
 
@AaronBertrand technically, i think that was back when he was with the vikings ;D
 
Ok really going to eat now, ciao folks
 
later
@Phil are those special font characters, or are they just supposed to be boxes
 
Cya later alligator
@swasheck emoji. Do you live in the 1990s? :P
 
10:26 PM
@Phil GET OFF MY LAWN!!!
 
@swasheck oh I thought for sure I remembered a fine or two for celebrations in 2007, maybe my memory is bad
 
also. no emoji
@AaronBertrand could be, but the vikings was the one i distinctly remember. go eat.
 
 
@AaronBertrand Oh fuck. I clicked at the ad in the comment ...
 
The Heap Inception™©
2
 
10:27 PM
Good that it's not work time.
 
Going deeper....
 
10:46 PM
@Phil In case you haven't noticed, we have one more meeting, this Friday.
 
01:00 - 18:0018:00 - 23:00

« first day (1490 days earlier)      last day (3384 days later) »