Concurrency Week: Can SELECTs Win Deadlocks?
Yes, especially when they’re part of a larger transaction. In this example, I’m going to use a database in Read Committed Snapshot Isolation (RCSI), my favorite isolation level for building new applications from the ground up. Optimistic co …
Approaches to masking email addresses
There are several ways to to anonymize / pseudonymize email addresses. This post discusses a few frequently used approaches, as well as how you can use Redgate Data Masker for SQL Server to achieve realistic masking of email columns.
Alerts and Notfications for SQL Server Login, Database User and Role Membership Changes
Check out these scripts to create SQL Server jobs and Alerts when a login is created or dropped, a database user is added or dropped and when logins are added or removed from server roles or users are added or removed from database roles.
SQL SERVER – Script – Transaction Log Backups Based on Growth / Size
While doing a comprehensive health check of the SQL Server, one of the things I check is the backup plan for the production databases. Many times, I have run into a situation where a customer says “Transaction log file of the database has grown m …
SQL Server Graph Databases – Part 4: Working with hierarchical data in a graph database
The series so far: SQL Server Graph Databases – Part 1: Introduction SQL Server Graph Databases – Part 2: Querying Data in a Graph Database SQL Server Graph Databases – Part 3: Modifying Data in a Graph Database SQL Server Graph Databases …
Building SQL ConstantCare®: Why We Avoided Graphs
When we started building SQL ConstantCare®, one of my early decisions was to focus on a text-based interface. I wanted to just simply tell you what I’d do in your shoes. If users wanted to see more evidence behind the recommendation …
Cancelling DBCC SHRINKFILE with EMPTYFILE
A fun experiment using DBCC SHRINKFILE to rebalance data.
Custom Metrics for Detecting Problems with Ad-hoc Queries
A common SQL Server crime is the unnecessary overuse of ad-hoc queries by applications. In this article, Phil Factor shares some custom queries for monitoring problems that can be caused by this.
Spring into the Latest Features at the Luxemborg User Group
The next meeting of the Luxemborg SQL Server User Group has some great sessions planned.
SQL SERVER – SharePoint not Working After Failover to Another Node
Anything that can go wrong will go wrong while Murphy is out of town. While I was onsite to help a client, one such issue had cropped up in their SharePoint environment where SQL Server was used as backend and was a part of Windows failover cluster. Wh …
How to Force a Parallel Execution Plan for a Query? – Interview Question of the Week #170
Question: How to Force a Parallel Execution Plan for a Query? Answer: If you are SQL Server Performance Tuning Expert, you get all sort of questions. Recently during Comprehensive Database Performance Health Check, one of the customers asked a ver …
[Video] Office Hours 2018/4/18 (With Transcriptions) with Special Guest Drew Furgiuele
This week Drew Furgiuele joins Brent and Richie to discuss patching, job interview suggestions, using PowerShell to solve various SQL Server issues, roles and responsibilities of a SQL or a database architect, enabling query store on production servers …
SQL SERVER – FIX – Error 1402 – Could not Open Key: UNKNOWNComponents – System Error 5 (Another Solution)
I encountered this error while installing KB3045311. In fact, you might get such errors when installing any patch for one of my customers. The error was the very popular system error 5. At first, I thought I am already aware of this error and in fact, …
Does an Index on Just The Clustering Key Ever Make Sense?
Say you’ve got a table – in this case, I’m using the Stack Overflow Posts table, which holds all of the questions and answers: StackOverflow.dbo.Posts See the clustered index at the bottom? It’s on the Id field, which is an iden …
How to Show the Execution Plan of a Running Query
By looking at a query execution plan, you can determine which steps are used to resolve the query. But what if you just want to find out what the query plans are for only the queries that are currently running?