If users are logging into your SQL Server with their Active Directory accounts, you may run into an issue if their login changes. This issue is usually associated with someone changing their account name to reflect a change in their legal name. If the user executes the function SUSER_SNAME(), it may return their old login.… Continue reading SUSER_SNAME() Returning the Wrong Login
If you work in a VMWare shop you're probably aware that VMs can be migrated to a new host under certain conditions. While the purpose of these migrations is good, I've found that virtual SQL Servers usually do not like to be VMotioned. At my current employer, this is often noticed in AlwaysOn Availbility Groups.… Continue reading Finding VMotions with Powershell and the VCenter CLI
Recently, I was asked to investigate high CPU on a production server. I began my routine which is a combination of wait stats, performance counters, and resource hogging statements. I had identified a CPU intensive stored procedure that had a cardinality issue in the plan. I was about to present my findings when.... POOF. Another… Continue reading So You Blew Up the Plan Cache…
So, is it possible to go from Enterprise to Developer in an AlwaysOn cluster? TLDR: Yes. I was working in a dev environment recently that had been setup with AlwaysOn Availability Groups using the Enterprise Edition of SQL Server 2016. This environment is completely devoted to development of our applications which means it qualifies for… Continue reading Rolling Downgrade From Enterprise to Developer
In March I did my first presentation at SQL Saturday. I'd say it went very well and I was very encouraged with the attendee feedback. My presentation was on infrastructure testing with the Pester Powershell module. I didn't go into depth on the advanced features of Pester (ie. mocking) but instead focused on how you… Continue reading Pester Your SQL Servers!
I've spent some time in a couple AlwaysOn shops and if you don't manage it well, you can quickly accumulate secondary databases that are owned by DBA accounts. Naturally, secondaries are read-only so you can't simply change the owner to SA. One option is to fail over the AG and change the database owner but… Continue reading Setting an AlwaysOn Secondary Database Owner to SA
When I inherit an unruly SSRS environment (and they're all unruly) I want to answer a few questions: What users are running reports? What reports are being executed? The ReportServer database is very easy to understand but a majority of the queries I run hit the ExecutionLog table, or one of the ExecutionLog views. Microsoft… Continue reading Who Is Using SSRS?
Creating a mirroring endpoint in SQL Server can sometimes do goofy things with permissions. I'm facing an issue right now where two bad things are happening when one of our DBAs creates an endpoint: The creator's account becomes the owner of the endpoint, which is not un-common in SQL Server. However, like other ownerships, this… Continue reading Mirroring Endpoint Ownership
Some of the powershell functions and modules I write don't warrant elaborate commenting. I've started using a standard commenting template and rather than re-do that commenting in markdown, I eventually wrote a simple script to generate markdown out of powershell comments. I work in an environment that uses a central git repository so simple generation… Continue reading Generating A Simple Markdown Readme From Powershell Comments