Microsoft's official best practices for FIM holds true for MIM too. These items should be implemented before releasing the system to a production environment. We have highlighted several SQL practices that we've found to solve customer problems:
Never modify any of the MIM database tables directly in SQL because you can corrupt the database.
Do not query the Metaverse table within a rules extension, workflow, or external process. Doing so creates SQL deadlock conditions that MIM would not expect.
Do not change SQL permissions set by the MIM installer.
The Synchronization service database and MIM Service database should be in their own SQL instances and on different disks, if possible.
Isolate the SQL data and log files on different disks.
Presize the SQL databases and avoid relying on SQL autogrow to improve performance.
Monitor SQL databases to ensure that there is enough disk space.
Limit the amount of memory that SQL will use if SQL is running on the same server as the sync...