We are running a Microsoft Dynamics CRM On-Premises environment, and currently facing performance issues, which we have traced back to disk I/O bottlenecks on the drive hosting the SQL Server database files.
To mitigate this, we have added a new high-performance drive to the server. Now we are considering the best approach to leverage this new drive to improve overall database performance.
Our Options:
You've identified a common and effective strategy for improving SQL Server performance: addressing disk I/O bottlenecks. Adding a new high-performance drive gives you a great opportunity to optimize. Let's break down the best approach and address your questions specifically in the context of Dynamics CRM On-Premise.
Recommended Best Practice: Move the Existing .mdf and .ldf Files to the New Drive
For a database primarily suffering from overall disk I/O limitations, the most straightforward and often most effective approach is to move the entire database (both the primary data file .mdf
and the transaction log file .ldf
) to the new, high-performance drive.
Here's why this is generally recommended:
Addressing Your Questions:
As mentioned above, the recommended best practice is to move both the primary data file (.mdf
) and the transaction log file (.ldf
) to the new, high-performance drive. This provides the most comprehensive improvement for overall database I/O.
While technically possible to move specific tables to a secondary filegroup on the new drive, there are risks and constraints to consider, especially with Dynamics CRM:
Therefore, while technically feasible, moving specific tables to secondary filegroups for a Dynamics CRM database is generally NOT the recommended best practice due to the added complexity, potential risks with CRM functionality and updates, and the difficulty in guaranteeing optimal placement of data.
Splitting data across drives can offer performance benefits in specific scenarios, primarily when:
Compared to moving the entire database (MDF and LDF) to a single high-performance drive, adding secondary data files for specific tables is less likely to provide a significantly better overall performance improvement for a typical Dynamics CRM workload and introduces more complexity and potential risks. The bottleneck you've identified is at the drive level. Addressing that directly by moving the entire database to the faster drive will likely yield the most immediate and widespread performance gains.
Steps to Move the Database Files:
Here's a general outline of the steps to move the database files. Perform these steps carefully and during a planned maintenance window. Always have a full backup of your CRM database before proceeding.
.mdf
and .ldf
files for the detached database to the new high-performance drive..mdf
file and attach the database. SQL Server should automatically find the .ldf
file in the same location.Important Considerations:
.ldf
) on a physically separate high-performance drive from the data files (.mdf
and .ndf
if you were to use them) in very high-throughput OLTP systems. However, since you only have one new high-performance drive, placing both on it will still be a significant improvement over the previous slower drive.Conclusion:
The most effective and least risky approach to improve performance in your situation is to move the entire Dynamics CRM database (both .mdf
and .ldf
files) to the new high-performance drive. Avoid the complexity and potential risks associated with splitting tables into secondary filegroups unless you have a very specific and well-understood bottleneck related to a small set of tables and a deep understanding of the CRM database schema. Focus on addressing the overall disk I/O bottleneck first by leveraging the speed of your new drive for the entire database.
DAnny3211
136
Daniyal Khaleel
130
Abhilash Warrier
70
Super User 2025 Season 2