I had a SQL Server 2005 installation where the server was defined with Latin1_General_CI_AI and databases defined with SQL_Latin1_General_CP1_CI_AS (I didn't install it and don't know how it got that way). The client was receiving the "Cannot resolve the collation conflict between" error while accessing their application.
I detached the databases defined with the correct collation, shutdown SQL Server and associated services, ran
sqlservr -m -T4022 -T3659 -q"SQL_Latin1_General_CP1_CI_AS"
restarted the server and associated services, reattached the databases, and everything worked perfectly!
Startup option -m forces single user mode.
Trace flag 3659 allows logging all errors to SQL Server logs.
Trace flag 4022 forces SQL Server to skip startup stored procedures (if you have any).
Startup option -q rebuilds all databases and contained objects into the specified collation, without reinstalling the instance.
Per link: http://spaghettidba.com/tag/trace-flags/