Archived Talks

Here is where you will find archived demos and presentations. Archived talks are talks which I am no longer presenting. Because these talks are no longer on the active roster, they run the risk of containing outdated information or might need to be revamped before presenting them again. Click on one of the links below for slides, code, notes, and more.

Beyond SQL Injection

For database administrators, security typically means assigning appropriate rights to logins, ensuring that passwords do not easily succumb to a brute-force attack, and helping developers write code free of SQL injection vulnerabilities. After we take care of these fundamentals, it's time to look at the next layer of attacks: network-based attacks. This presentation will focus on two particular network attacks: abusing SQL authentication and taking advantage of a man-in-the-middle attack. We will close with discussion on how to mitigate these attacks.

Go to the presentation for more details.

In-Memory OLTP

With the release of SQL Server 2014, Microsoft has introduced a new relational technology as part of the SQL Server database engine. Their ACID-compliant, in-memory relational solution (code-named Hekaton, now known as In-Memory OLTP) promises up to a 30-fold improvement in transactional throughput in comparison to the current database engine. This talk will walk through In-Memory OLTP from the standpoint of a database developer implementing the solution, and show both the promise and the "version 1.0" problems with this product.

Go to the presentation for more details.

Tally 'Em Up

Database administrators as a rule hate Row-By-Agonizing-Row (RBAR) solutions due to how poorly they perform in T-SQL. Sometimes, though, it seems as though we need to make do and take that performance hit. This presentation will show you that the humble tally table can eliminate RBAR-dependency across a number of different problem spaces, including splitting text, validating dates, and even reporting on errors. With plenty of examples, you'll get to see exactly how powerful a tally table can be.

Go to the presentation for more details.

T-SQL Anti-Patterns

Experience with a platform gives us patterns: common techniques which we can use to solve a number of recurring problems. They also give us anti-patterns: common techniques we often use to solve a number of recurring problems incorrectly. This session will cover a number of anti-patterns related to writing T-SQL code. We will cover each anti-pattern in detail, explaining the problem, why you might reach for the anti-pattern, and better alternatives which won't leave you hurting for performance.

Go to the presentation for more details.

We Have Normality

The relational database architecture stands on solid mathematical footing. Central to the math behind the relational architecture is the concept of normalization. This presentation goes through each of the major normal forms, describing (with examples each step along the way) how to get into each normal form, why you want to be in that normal form, and how to recognize when you are not in that normal form. This talk will show you exactly why good normalization technique is vital in relational database design.

Go to the presentation for more details.

What's In YOUR DB Wallet?

When you have one SQL Server instance to maintain, you can give that instance plenty of TLC. When you have a hundred instances, many things which worked before simply will not scale, potentially leaving your databases in peril. The next step (after justifiable panic) is to give yourself a force multiplier to help you keep your sanity on the job--specifically, an administrative database. This session will give you an idea of what kinds of tools should go into an administrative database, as well as how to use this to collect important metrics for reporting and auditing. Audience participation from more advanced database administrators is encouraged: we want to find out what's in YOUR DB wallet.

Go to the presentation for more details.