SQLServer 2000. Collation conflict

  • Gosta Munktell


    Points: 5973


    A logfile SQLAGENT.out is created and updated three times a minute with:

    [298] SQLserver Errror: 446, Cannot resolve collation conflict for equal to operation. [SQLSTATE 42000].

    I have tryed to find an explanation to this error and set the collation on the databases as recomended.

    What can I do?

    Thanks in advance

    Gosta M

  • Jo Pattyn


    Points: 31409

    be aware that a field in a table can have a different collation than the default collation for a database.

    1) find the query/command causing the trouble

    2) check all the fields and their collation

    3) check also the collation of tempdb

    There is also a Collate command, but I haven't used it yet except for scripting tables.

  • Gosta Munktell


    Points: 5973

    Thank you

    The thing is that the logg is created all the time. No queries etc are running.

    be aware that a field in a table can have a different collation than the default collation for a database.

    In this application there is no need for different collation for each field. Is there a way to set all collations to

    <database default> to each field/table in a database without going throw all of them?



  • wim hartmans-453506

    SSC Veteran

    Points: 202

    think you have to go through all fields...

    like jo said: single field in a table can have different collation from the table. There is no way

    Of course you can do some reverse enginering: since when does this message appear in logs? which table\field was created then?

    don't know a command that can set collation for all objects in one time. option might be to make a query whith a cursor that loop s through all sysobjects...nested cursor that finds all columns in a table and then execute an alter database command.. 

    good luck

  • Markus2006

    Mr or Mrs. 500

    Points: 556

    I think that if you start Profiler, you will see the queries. Maybe Agent service is running some procedures in background. Or check whether you have any active jobs.

    Such problems are caused by different collations between database and server. In SQL Management Studio you can check it by selecting Server->Properties and Database->Properties.

    The problem may be caused for example by a stored procedure that uses "SELECT * into #temptable FROM ..." and later uses joins between this temporary table and a table from a database (TEMPDB and this database have different collations in this case).


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

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