Month: October 2015

SQL Waitinfo Trace

Starting with SQL 2012 you can easily trace Resource Waits using Extended Events. Unfortunately the duration for these waits is returned in milliseconds and not in microseconds. I see a problem here: What if the duration is below 0.5 ms it will be rounded down to 0. In an environment with a high frequency of

SQL Admin Script Collection

Decided to consolidate my last blog posts into a single script collection. Script to empty and remove a File from a SQL Database Alter Database AdventureWorksDW2014 set multi_user with rollback immediate USE [AdventureWorksDW2014] GO DBCC SHRINKFILE (N’fileneu’ , EMPTYFILE) GO USE [AdventureWorksDW2014] GO ALTER DATABASE [AdventureWorksDW2014]  REMOVE FILE [fileneu] GO   Script to defragment SQL

Reality is not discrete

Einstein once said: “Make things as simple as possible, but not simpler.” Many aspects of our daily life are still ruled by oversimplified models. These models made sense in the moment they were introduced but deliver a terrible performance compared to what would be possible using modern information technology. A few examples: When you go

Integration Services and Extended Events – A structured approach to optimize db architectures.

No matter what product or software you design its crucial to understand architecture tradeoffs. This blog post describes a structured approach on how to collect database performance data to make informed design decisions. Traditionally it is very difficult to find an optimal architecture for a particular workload and to test different configurations in a consistent

Powershell and Integration Services to provide Azure compute resources

Most SSIS Developers know that they can use Integration Services for more than just moving data from A to B. In the era of cloud computing you can also use Integration Services to create your own compute resources before you actually do the typical datawarehouse work (ETL, Data Enrichment, Feature Engineering,  Machine Learning, etc.).  The