Blog

Insights on data engineering, developer advocacy, and technical leadership

Microsoft Fabric is the New Office

At Microsoft Build in 2023 the world first heard about a new offering from Microsoft called Microsoft Fabric. Reactions to the announcement ranged from “meh” to “what is this?” To be fair, this is the typical reaction most people have when you talk data with them. Many of us had...
Read Full Post →

Book Review: The AI Playbook

Imagine you conceive an idea which will save your company millions of dollars, reduce workplace injuries, and increase sales. Now imagine company executives dislike the idea because it seems difficult to implement, and the implementation details are not well understood. Despite the stated benefits of saving money, reducing injuries, and...
Read Full Post →

Export to CSV in Azure ML Studio

The most popular feature in any application is an easy-to-find button saying "Export to CSV." If this button is not visibly available, a simple right-click of your mouse should present such an option. You really should not be forced to spend any additional time on this Earth looking for a...
Read Full Post →

Azure ML Studio Sample Data

This is one of those posts you write as a note to "future you", when you'll forget something, do a search, and find your own post. Recently I was working inside of Azure ML Studio and wanted to browse the sample datasets provided. Except I could not find them. I...
Read Full Post →

Microsoft Data Platform MVP - Fifteen Years

I am happy, honored, and humbled to receive the Microsoft Data Platform MVP award for the fifteenth (15th) straight year. Receiving the MVP award during my unforced sabbatical this summer was a bright spot, no question. It reinforced the belief I have in myself - my contributions have value. Microsoft...
Read Full Post →

Pro SQL Server 2022 Wait Statistics Book

After many months of editing, revising, and writing, my new book Pro SQL Server 2022 Wait Statistics: A Practical Guide to Analyzing Performance in SQL Server and Azure SQL Database is ready for print! You can pre-order here: https://amzn.to/3fQr7hz I thoroughly enjoyed this project, and I want to thank Apress...
Read Full Post →

Stop Using Production Data For Development

A common software development practice is to take data from a production system and restore it to a different environment, often called "test", "development", "staging", or even "QA". This allows for support teams to troubleshoot issues without making changes to the true production environment. It also allows for development teams...
Read Full Post →

Microsoft Data Platform MVP – A Baker's Dozen

No Satya, thank you. And you're welcome. Let's do lunch next time I'm in town. This past week I received another care package from Satya Nadella. Inside was my Microsoft Data Platform MVP award for 2021-2022. I am happy, honored, and humbled to receive the Microsoft Data Platform MVP award...
Read Full Post →

Twenty Years

My life changed twenty years ago, this very month. I was a developer, working for a small software company outside of Boston. Our product was a warehouse management system, built with PowerBuilder on top of Oracle. We had a handful of large customers helping to keep the lights on, but...
Read Full Post →

SET NOCOUNT For SQL Server

Last week I was reviewing an article and found myself needing information on the use of NOCOUNT as a standard for writing stored procedures. A quick internet search found this old post of mine, written back when I used to work for a living. Apparently, I was once asked to...
Read Full Post →

The Most Important Feature in Microsoft Teams You Aren't Using

It's been a year, people. A full year of remote meetings. And honestly, it's as if you have learned nothing in that time. Remote meetings have a different dynamic that in-person meetings. I was hopeful the past year you would all come to understand this and adjust your habits accordingly. ...
Read Full Post →

You Can’t Marry Your Database, But You Can Have Relations

There’s something you should know about relational databases. They were designed to store data efficiently, protecting the quality of the data written and stored to disk. I’ve written before about relational engines favoring data quality and integrity, and how relational databases were not designed for the reading of data. Of...
Read Full Post →

Create and Use an Email Alias

At this point I believe we all have a "burner" email account or two. An email account we use when an email address is required from us, but we do not trust the person making the request. In addition to using email accounts that are 20+ years old, we can...
Read Full Post →

Book Review: Calling Bullshit

Each year, I try to find a good book to bring with me to the beach. A few months ago, I came across Calling Bullshit: The Art of Skepticism in a Data-Driven World while doom scrolling Twitter one night. I ordered the book and did not wait for the beach...
Read Full Post →

Raw Data Podcast Available!

When the initial lockdowns were starting in late March, life was a bit confusing as we adjusted. As I felt reality and routine slipping away, I reached out to the one person I knew would help make sense of it all. That person wasn't available, so a week later I...
Read Full Post →

Tune Workloads, Not Queries

Ask three DBAs about their preferred performance tuning methodology and you will get back seven distinct answers. I bet a pound of bacon one of the answers will be “it depends”. Of course, it depends! But on what does performance tuning depend? Context. Most performance tuning methodologies focus on tuning...
Read Full Post →

101 Ways to Say NO to SysAdmin Requests

As an admin, you often get requests from developers asking for elevated permissions on servers and systems. Inside of SQL Server, this is called 'sysadmin' access. As you can imagine, it is not a good idea to give this level of access to just anyone. I thought I would write...
Read Full Post →

Microsoft Data Platform MVP - Still Crazy After All 12 Years

“We recognize and value your exceptional contributions to technical communities worldwide.” This past week I received another care package from Satya Nadella. Inside was my Microsoft Data Platform MVP award for 2020-2021. I am happy, honored, and humbled to receive the Microsoft Data Platform MVP award for the twelfth straight...
Read Full Post →

SQL Plan Warnings

There are many methods available for optimizing the performance of SQL Server. One method in particular is examining your plan cache, looking for query plan warnings. Plan warnings include implicit conversions, key or RID lookups, and missing indexes to name a few. Each of these warnings is the optimizer giving...
Read Full Post →

Use SQLMap to Connect Directly to Azure SQL Database

I've written before about using sqlmap to perform sql injection testing against a website. It is also possible to use sqlmap to connect directly against a database. In this post I will show you how to use sqlmap to connect directly to Azure SQL Database. Once connected you can enumerate...
Read Full Post →

Modify SQL Audit for Azure SQL Database

At SQL Server Live last November, I demonstrated enabling SQL Audit for Azure SQL Database. During the class discussion I explained you must use Powershell to modify SQL Audit for Azure SQL Database. So, that's my post today, showing you how it is done. By default, SQL Audit for Azure...
Read Full Post →

Why AWS and Azure Benchmarks Don't Matter to Me

Last October I wrote a review of the Gigaom SQL Transactional Processing Price-Performance test. That post references the original data warehouse test also published by Gigaom. I believe both Gigaom reports were funded by Microsoft. I found the first report on data warehousing to be of good quality. The SQL...
Read Full Post →

20 Things You Need to Stop Doing in 2020

For years I have written a year end post about things that didn't happen to me for the previous twelve months. This year I've decided to pivot that theme. Instead of a post all about me, it's now a post about you. Well, you and all the stupid and horrible...
Read Full Post →

Black Hat London

My final event of the year will be Black Hat Europe in London, the first week in December. This will be my second Black Hat event; the first was this past August when me and 20,000 of my closest security professional friends invaded Las Vegas.
Read Full Post →

Your Dashboards Still Suck

I've already written a post about how dashboards are a horrible way to communicate. I'm here today to remind you that your dashboards still suck. Let's start with the most recent example.
Read Full Post →

Using SQL Server Performance Objects

SQL Server performance objects are found inside the Performance Monitor tool, also known as perfmon. If you are using Performance Monitor for gathering resource metrics for SQL Server then you are familiar with a screen such as this one:
Read Full Post →

Microsoft Professional Program Is Ending

Late last Friday night, Microsoft announced that it was retiring the Microsoft Professional Program. The reaction from many was a general “WTH is that anyway?” Frequent readers of this blog will recognize the program where I earned certifications in Data Science, Big Data, and Artificial Intelligence. I was also just...
Read Full Post →

SQL Injection Protection

SQL injection is a common form of data theft. I am hopeful we can make SQL injection protection more common.
Read Full Post →

Yes, SQL Server Standard Edition is NUMA Aware

At VMworld in Barcelona this year there arose a question regarding SQL Server Standard edition and if it is NUMA aware. I was certain the answer was "yes", but it was pointed out to me that the documentation says otherwise.
Read Full Post →

Databases 101

A short time ago a colleague asked me where he could find a “Databases 101” guide for the non-technical professional. As it turns out, the internet is littered with information, and mis-information, regarding data and databases. This makes it difficult for someone entering the field of data and databases to...
Read Full Post →

Pingdom Made Me Stop Using Disqus for Blog Comments

Last week Microsoft bought GitHub and there was a flood of “the sky is falling” from the anti-Microsoft trolls as well as the typical knee-jerk reactionary type folks we find in the tech industry. It reminded me of the time four years ago when SolarWinds bought Pingdom. The day the...
Read Full Post →

Adding Python Packages to SQL Server 2017

SQL Server 2017 allows for the use of Python scripts called as an external script. SQL Server comes with some Python packages by default. Today I wanted to talk about adding Python packages to SQL Server 2017.
Read Full Post →

Azure Cosmos DB Pricing Compared to DynamoDB and NeptuneDB

This week at the Microsoft Build conference a new provisioning option for Cosmos DB was announced. The new option, to provision throughput for a set of containers, is a wonderful new feature. However, this meant I needed to take some time to understand Azure Cosmos DB pricing compared to DynamoDB...
Read Full Post →

Using DATABASEPROPERTYEX to Find Last Good DBCC CHECKDB Time

For decades, a pain point for SQL Server administrators has been determining when the last known DBCC CHECKDB was run against a database. Microsoft has not exposed this information in an easily digestible format. You can find a handful of options available online for returning this information. My favorite was...
Read Full Post →

Analyzing Stack Overflow Data Directly and with PowerBI

Last week, Stack Overflow acknowledge their culture issues with this post. I’m glad to see them talking about these issues publicly, and they are actively looking to make things better. Admitting you have a problem is a good first step.
Read Full Post →

SQL Audit Not Showing Full SQL Statement

I noticed some MSDN forum posts regarding SQL Audit not showing the full SQL statement. To the end user, it appears that SQL Audit is truncating of SQL statements. I decided to write a quick post to help clear up the confusion for large SQL statements and how they appear in SQL Audit.
Read Full Post →

The Generous DBA

The conversation came out of nowhere, lasted only a few seconds, but impacted me deeply.
Read Full Post →

Azure SQL Data Warehouse Costs vs AWS Redshift

Today I wanted to detail Azure SQL Data Warehouse costs vs AWS Redshift. This post is meant to follow up on two earlier posts (Azure vs. AWS Data Services Comparison and Azure vs AWS Analytics and Big Data Services Comparison), where I outlined the different services offered. In both of those posts, you will...
Read Full Post →

Azure vs. AWS Analytics and Big Data Services Comparison

Last week I wrote a post that helped visualize the different data services offered by Microsoft Azure and Amazon AWS. This week I’m writing about the Azure vs. AWS Analytics and big data services comparison. This comparison took a bit longer because there are more services offered here than data...
Read Full Post →

You Are Not Data-Driven

Many people (and companies) say they are “data-driven”. Unfortunately, what that means is ”hey, I think this is true, go get the data that supports my idea. No, not that data, get the other data.” This is the common definition I see on a regular basis. If this describes you (or your company), then you are not data-driven....
Read Full Post →

Azure Cosmos DB Costs vs Dynamo DB and Neptune

Building on yesterday’s post, Azure vs. AWS Data Services Comparison, today I want to write about the Azure Cosmos DB costs vs DynamoDB and Neptune. I’m going to give an example today comparing only the NoSQL services offered by Azure and AWS.
Read Full Post →

Azure vs. AWS Data Services Comparison

Both Microsoft Azure and Amazon Web Services offer a lot of data services. So many services that it can be hard to comprehend how the compare without a scorecard. So, that’s what I did here, I put together a quick image to help you make sense of all the offerings current available...
Read Full Post →

Why I'm Leaving Slack Communities

I wanted to like Slack, I really did. I have been a user for years before it became mainstream somewhere around 2014 it seems. These days everyone has a Slack community. (Well, I know of one company that insists upon using Yammer, but that’s a different blog post for another...
Read Full Post →

The SQL Server Tiger Team Bookmarks

Last week while I attended the Microsoft MVP Summit, I had the honor to attend sessions delivered by Pedro Lopes (blog @SQLPedro) and his Tiger team. The SQL Server Tiger team are engineers that work with customers to solve their biggest issues and will help build and deploy patches as necessary....
Read Full Post →

SQL Data Discovery and Classification

The new version of SQL Server Management Studio (v17.5) brings with it a new feature: SQL Data Discovery and Classification. You might recall that in SSMS 17.4 the Vulnerability Assessment feature was added. So, that’s two new features in the last two releases. This is the beauty of de-coupling SSMS...
Read Full Post →

Schema Compare for SQL Server

SQL Server Management Studio (SSMS) does not offer the ability to do a schema compare between two databases. Therefore, you have two options to do a schema compare for SQL Server databases. The first is to use Visual Studio. The other is to use a 3rd party tool. However, there...
Read Full Post →

Auditing Linked Servers

Last month I noticed this tweet from @SQLPrincess on #sqlhelp, asking if there was a way to find out what happened to a linked server:
Read Full Post →

Data Migration Assistant Custom Configuration

The Data Migration Assistant (DMA) is a great tool made available by Microsoft. Successor to the SQL Server Upgrade Advisor, the DMA will perform an assessment of your database against a target version. The DMA can also perform the migration of both schema and data, if desired.
Read Full Post →

When to Use Row or Page Compression in SQL Server

Introduced with SQL Server 2008, page and row compression are turning ten years old this year. In that time, the internet became littered with posts describing both features, how they work, the performance gains, etc.
Read Full Post →

Microsoft Azure Threat Detection Types

Not enough people know about the Audit and Threat Detection feature in Microsoft Azure. So, I’m hoping to help spread the word today. I decided to write a post to help explain the Microsoft Azure Threat Detection types.
Read Full Post →

Data Migration Assistant Error During Assessment of SQL Server 2017

The Data Migration Assistant (DMA) offers you the ability to perform a feature assessment against your SQL Server database. Built as the successor for the SQL Server Upgrade Advisor, the DMA is a valuable tool for migration projects. I’ve written before about upgrades and the use of DMA as part...
Read Full Post →