I recently had the need to move the MSDTC for a cluster to a new SAN drive.  It’s a quite simple thing to do, but you can’t redirect the MSDTC resource to a new drive.  Let’s just walk through the basic steps.

The first thing you need to do is get the new drive added to the cluster and put into the proper group.  If the drive is being presented from a SAN and you have multiple paths to that SAN, then you will need to setup whatever multi-pathing software you have.  If you’re not sure, then an easy test is to open Window Disk Management and see how many new drives are there.  If there are more drives there than you are supposed to have, then you need to setup your multi-pathing.  Once you get that setup and reboot, you should now see the correct number of drives.  If you are on a cluster, you need to do this on each node in the cluster.

Now that your drives are correctly presented to the OS, it’s time to bring them online and format them.  You can do this from the node in the cluster that your services are currently running on and you only have to do this on that one node.  Right click the drive in Windows Disk Management and select online.  Now that the drive is online you need to right click it again and select initialize.  Finally you need to format it by right clicking the drive and selecting New Simple Volume.  Walk through the wizard giving it a drive letter and formatting it with a label.  Don’t worry about what drive letter you assign as we can change that later.

You are now ready to add the drive to the cluster.  Open the Cluster Manager MMC, expand the cluster, and select storage in the left hand pane.  In the right hand pane you will see all of your cluster groups with their assigned storage below the group.  Select Add Disk in the actions pane and select the disk to add.  You will now see a group called Available Storage where you will find your new drive.  Right click the drive to which you plan to move the MSDTC, go to more options, and select Move this resource to another service or application.  You want to select your MSDTC group.

At this point everything is now setup and ready for the move.  Unfortunately you can’t simply change the MSDTC resource object to point to a new drive.  You have to delete the resource and create a new one.  In Cluster Manager, expand your MSDTC group, right click the MSDTC resource and select Delete.  In the actions pane on the right, click Add Resource and under More Resources select Add Distributed Transaction Coordinator.  Do not bring the resource online yet as we need to define its dependencies.  Double click the resource and go to the dependencies tab.  Here you need to make it dependent on both the network name and the new cluster disk you just added.  Click OK and bring the resource online.  You have now successfully moved your cluster MSDTC to another drive, but let’s verify it.  Open Windows explorer and view the new drive.  You should now see a folder called MSDTC, which verifies the move.

The last thing you want to do is some clean up.  Go back into Cluster Manager and select the Storage node in the left hand pane.  Under your MSDTC group, right click the old MSDTC disk and select Remove.  This will remove the old storage drive from the cluster group and put it back into the available storage group.

If you want to reuse the old drive letter (Typically M:), then right click the old drive under the Available Storage group and select Change Drive Letter.  Now you can right click the old drive and select delete, which will remove it from the Available Storage group in Cluster Manager.  In order to assign your new drive to the previously used drive letter, simply right click it in Cluster Manager and select Change Drive Letter.  The old drive letter will now be available, so simply select it.  After changing the drive letter you now need to restart the MSDTC group.

More Information – If you are moving your cluster MSDTC drive you might want to check out the following posts:

How to move cluster Quorum drive

How to move the Master database

How to move the Model database

How to move the MSDB database

How to move the TempDB database

SQLAgent Error 435

7 thoughts on “How to move Cluster MSDTC Drive

  1. Only if you have to reboot to present the new drives/LUNS to the OS. You also cannot circumvent that by moving the MSDTC to a passive node, or it won’t work when a failover occurs.

  2. Hi, Ryan. What OS version does this post refer to? I’ve seen the Microsoft article for doing this in Windows 2000, which includes steps for the dtclog folder and some other things. However, those steps don’t apply to Windows 2003. I imagine that 2008 is also likely different from the other two. We are getting ready to have to do this soon for a planned SAN migration and a lot of the other articles I’ve seen for Windows 2003 seem much more complicated. Also, does this affect any customized MSDTC security or anything like that? Thanks for your time.

  3. This was based off of a Windows 2008 R2 cluster. What you are really doing here is deleting the MSDTC and re-creating it on the new drive. Make sure you don’t have any distributed transactions occurring when you do this, and I suggest shutting down SQL anyway.

  4. Don’t forget to setup security for MSDTC under application server – Component Services – Distributed Coordinator – Clustered DTC:s ! Right click and view properties under security tab.

  5. Thanks Ryan,
    We ran through this while doing a storage migration and the MSDTC steps helped us in disconnecting the old msdtc disk.

Comments are closed.