This post is the first in a new series I'm going to call "CRM 2016 Upgrade Adventure". Summary: my organization has taken on the ambitious challenge of not only upgrading our existing Dynamics CRM 2011 environment to the 2016 version but of moving it to the cloud service as well. Aside from getting the vanilla components... Continue Reading →
Using Powershell to Refresh a Test SQL Server Instance from Production
A project I've been wanting to work on for a long time is how to automate restores of our Production databases to the Test instance. There are a number of challenges associated with this. First, the restore has to be able to find which backup it needs to use. Secondly, many of our databases do... Continue Reading →
Using PowerShell to Perform Availability Group Failovers
In the past we've explored how to use PowerShell to automate failovers on SQL Failover Clusters for Windows Updates and other scheduled maintenance. But what if you're using Availability Groups instead of the traditional cluster? Fear not, there is still a PowerShell option for that. Usually I would have our night team use SSMS to fail... Continue Reading →
Fixing Orphaned SQL Users via PowerShell
In SQL Server, a login is an instance level object that is used for authentication. It is mapped to a database user, which controls permissions at the database level. These objects (login and user) are tied to one another via a SID. If the login is deleted and then recreated, or if you restore your... Continue Reading →
Using PowerShell to Execute SQL Maintenance
It's an odd truth that laziness leads to better systems administration. That is, so long as it spurs you to automate and thoroughly document a repetitive or tedious task. For instance, I was recently tasked with reducing the excessive size of some system tables in our Microsoft Dynamics CRM environment. To start with, I accomplished... Continue Reading →
Scripting Failovers for SQL Server Maintenance
As much as we'd all like to set up our SQL instances and never again let anyone touch them, that's just not possible in real life. We live in a world where entities, for good or for evil, are constantly exposing vulnerabilities both in the SQL software and Windows itself. For that reason it is... Continue Reading →
Is Optimizing for AdHoc Queries Worth It?
As you probably know, there is a server configuration option called "optimize for ad hoc workloads". For more details on that option check out the MSDN article. The real question is, how do I know the extent to which my environment uses AdHoc queries? Well, as usual there is a DMV for that. Use the... Continue Reading →
Managing CDC Jobs on an Availability Group
So, here's the deal. You've got Change Data Capture going in your environment and want to move your database to an Availability Group on SQL Server 2012. That's great, lots of advantages there. But what happens to CDC when your database fails over to a different node? Since the capture process runs through SQL Agent... Continue Reading →