sql >> Databáze >  >> RDS >> Sqlserver

Nelze vyřešit konflikt řazení

S porovnáváním jde o to, že ačkoli databáze má své vlastní řazení, každá tabulka a každý sloupec může mít své vlastní řazení. Pokud není zadáno, převezme výchozí hodnotu svého nadřazeného objektu, ale může se lišit.

Když změníte řazení databáze, bude to nové výchozí nastavení pro všechny nové tabulky a sloupce, ale nezmění to řazení existujících objektů v databázi. Musíte jít a ručně změnit řazení každé tabulky a sloupce.

Naštěstí jsou na internetu dostupné skripty, které tuto práci zvládnou. Nebudu doporučovat žádné, protože jsem je nezkoušel, ale zde je několik odkazů:

http://www.codeproject.com/Articles/302405/The-Easy-way-of-changing-Collation-of-all-Database

Aktualizovat řazení všech polí v databázi za běhu

http://www.sqlservercentral.com/Forums/Topic820675-146-1.aspx

Pokud potřebujete mít různé řazení na dvou objektech nebo nemůžete řazení změnit – stále můžete JOIN mezi nimi pomocí COLLATE příkaz a výběr řazení, které chcete připojit.

SELECT * FROM A JOIN B ON A.Text = B.Text COLLATE Latin1_General_CI_AS 

nebo pomocí výchozího řazení databáze:

SELECT * FROM A JOIN B ON A.Text = B.Text COLLATE DATABASE_DEFAULT



  1. MySQL v cloudu – Online migrace z Amazon RDS na EC2 Instance:Část první

  2. Odesílání e-mailů s přílohami v SQL Server (T-SQL)

  3. Slovník databáze DevOps pro začátečníky v MySQL

  4. Snadný způsob, jak nasadit MySQL Galera Cluster na AWS