Changing server/db collation

  • Jake Shelton

    Hall of Fame

    Points: 3109

    Hi all,

    We have a Dev server whose Collation Sequence must match that of our (soon to be ex) production server. Message found ;

    "Cannot resolve the collation conflict between sql_latin1_general_cp1_ci_as and latin1_general_ci_as "

    I'm told one way to reset is to script all logins/jobs/alerts etc and rerun, detach and reattach the db's, however this is a laborious process.

    Anyone know a faster way of synching the Collations?

    Cheers,

    Jake

  • SQLBlimp

    SSCertifiable

    Points: 6325

    Jake Shelton (5/1/2014)


    Hi all,

    We have a Dev server whose Collation Sequence must match that of our (soon to be ex) production server. Message found ;

    "Cannot resolve the collation conflict between sql_latin1_general_cp1_ci_as and latin1_general_ci_as "

    I'm told one way to reset is to script all logins/jobs/alerts etc and rerun, detach and reattach the db's, however this is a laborious process.

    Anyone know a faster way of synching the Collations?

    Cheers,

    Jake

    What you have written is the correct process to change server collation.

    See: http://technet.microsoft.com/en-us/library/ms179254.aspx.

    Moreover you have to change each user database's collation.

    See: http://technet.microsoft.com/en-us/library/ms175835.aspx.

    Sorry. Server collation is something that should be a uniform standard within your shop, and should be explicitly set at install time. It is a bear to change collation mid-stream.

    Thanks

    John.

  • mosaic-287947

    Ten Centuries

    Points: 1042

    If you really need to go down the route of changing the collation of your database, maybe this utility can help:

    http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=12753

    It was a lifesaver for a sql2000-to-2008 migration project we recently completed.

    Our requirements were different from yours, but we also needed to change the collation of an entire database.

    In our case, the old SQL Server 2000 instance / database used SQL_Latin1_General_CP1_CI_AS, and the new SQL Server 2008 instance uses Latin1_General_CI_AS

    During the migration we had an automated daily process that:

    Restored the latest backup of the old database to the new server.

    Ran the query that had been generated with the above utility for the old database against the restored database. This updated the collation of the database and all relevant objects in it.

    Ran a series of scripts to raise the compatibility level, reconnect some orphaned users, and other housekeeping/cleanup tasks

    On switch-over day we simply stopped the daily restore and pointed our users to the new database.

Viewing 3 posts - 1 through 3 (of 3 total)

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