Server and user databases using different collations

  • Hi,

    I have managed to end up with a server and its' system databases using Latin1_General_CI_AS and the user databases using SQL_Latin1_General_CP1_CI_AS.

    All other servers use SQL_Latin1_General_CP1_CI_AS for system and user databases, so this would be out "standard".

    Is there anyway to change the server/system databases to use SQL_Latin1_General_CP1_CI_AS without affecting the user databases, if possible I want to avoid having to export objects and data from the user databases, drop the dbs and then recreate and reimport the objects and data.

    Any help much appreciated.

  • I got the same problem.

    A staging server is using collation_B and the Production server is using collation_A

    Te staging server host a lot "unrelated with the problem" DB from other depts.

    searching on web and at this very forum found 2 interesting articles:

    http://www.sqlservercentral.com/articles/Collation/72182/

    http://www.sqlservercentral.com/articles/Collation/70685/

    As you can see it can be done but it's not simple.

    If you got few DB a reinstall can be a option.

    For me I considering to create a new instance with the correct collation and just move the few staging DBs to it

    Hope it helps

  • If you want to change the system collation then you can rebuild the system databases from the install media.

    You will want to script out all server objects like, jobs, logins, linked servers, DDL triggers etc.

    Make sure you have backups of all your user databases and system databases as you will need to re-attach / restore them as the master database will know nothing about them as it will be like its a fresh server.

    http://msdn.microsoft.com/en-gb/library/dd207003(v=sql.105).aspx

  • jcb (8/11/2014)


    If you got few DB a reinstall can be a option.

    For me I considering to create a new instance with the correct collation and just move the few staging DBs to it

    Hope it helps

    I also follow the same path - create new instance (if it is feasible) with correct collation and move the DBs to it.

    Thanks

  • Be careful when you do this, because if someone has already compensated for the collation difference by putting COLLATE Latin1_General_CI_AS clauses throughout the code, then things may start breaking.

    John

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply