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.

Client Migration With Biml

Many companies scale out their databases horizontally, partitioning data by customer (or some other identifier) into separate databases or instances. Sometimes, it becomes important to move that data from one database to another. SQL Server Integration Services is a fantastic tool for ETL, but creating and maintaining dozens or hundreds of data flows by hand is exhaustingly tedious. Instead of doing it the hard way, use the BI Markup Language (Biml) to automate package development. This talk will show how we can use metadata tables and Biml to auto-create SSIS packages to migrate data from one database to another, handling foreign key constraints along the way.

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.

Introducing Azure ML

Azure Machine Learning is a point-and-click Software-as-a-Service offering on the Microsoft Azure platform. It allows data scientists to manage, cleanse, and filter data; train, score, and evaluate models; and write custom components in R and Python. Once the data scientist's work is done, Azure ML then automatically generates a production-ready web service to implement the model, saving significant development effort. This talk will walk through the Azure ML offerings and discuss how they may integrate into a mature business platform.

Go to the presentation for more details.

Peanut Butter & Chocolate: Integrating Hadoop and SQL Server

So you jumped on the bandwagon and set up a Hadoop cluster…but now what? Your database developers and app developers know how to integrate with and develop against SQL Server, but the Hadoop world can be a completely different experience. This talk will help bridge the gap between SQL Server and Hadoop, using tools such as SQL Server Integration Services and Sqoop to migrate data between a Hadoop cluster and a SQL Server instance, as well as PolyBase to integrate the two like never before.

Go to the presentation for more details.

Power BI Custom Visuals

Microsoft has made it possible for developers to create and release their own custom visuals to enhance the Power BI experience. In this session, we will take a look at six custom visuals and see how they integrate into the rest of the Power BI Desktop application.

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.