Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Collation  [new]
Fedor34
Member

Откуда:
Сообщений: 29
Добрый день.

Никак не могу понять как работать с этими Collation.
Досталась в наследство база SQL Server 2000, я её перенес благополучно на новый SQL SERVER 2008 R2.
Все текстовые поля в таблицах nvarchar и все хранится в юникоде.

Но у всех стоят разные Collation. От Cyrillic_General_BIN до SQL_Latin1_General_CP1_CI_AS
И регулярно я получаю ошибки вида Collation Conflict.

Что и как нужно сделать, что бы забыть про все эти конфликты?
Нужно всем поставить что-то одно?
Есть ли что-то вида Collation UTF8?

Запутался окончательно :)
Спасибо
8 июн 11, 16:49    [10784529]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
Crimean
Member

Откуда:
Сообщений: 13147
в разных таблицах у разных полей разные коляции??
или проблема от несоответствия коляции базы и сервера? типа на операциях с tempdb?
8 июн 11, 16:54    [10784577]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
Fedor34
Member

Откуда:
Сообщений: 29
Crimean,

Да, в разных таблицах и более того в одной таблицы у разных полей nvarchar разные Collation.
почему так я не знаю. Вот хочу все привести в правильный вид.

Частенько я делаю временные таблицы. И мне надо сравнивать значения в этих таблицах со значениями в обычных таблицах.
Приходиться писать чуть-ли не на каждое поле COLLATE <что-то там>.

Вот от этого и хочу избавиться. Хочу что бы везде было все одинаково.
Зачем мне вообще это Collation - когда я храню все в юникоде? (У меня могут быть разные буквы из разных языков в одном поле).
8 июн 11, 17:00    [10784658]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
Fedor34
Member

Откуда:
Сообщений: 29
Ага, вроде понял, поправьте если не так.

Collation надо указывать для любого unicode'ного поля, так как оно влияет на сортировку и прочее.

Тогда что бы мне избавиться от всяких конфликтов, надо все
колонки в базе title_ru, title_en, title_fr, title_de поставить соответствующие Collations

И для временные таблицы создавать указывая collate явно.

Вроде так. Попробую :)
8 июн 11, 17:39    [10785032]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3754
Fedor34
Ага, вроде понял, поправьте если не так.

Collation надо указывать для любого unicode'ного поля, так как оно влияет на сортировку и прочее.

Тогда что бы мне избавиться от всяких конфликтов, надо все
колонки в базе title_ru, title_en, title_fr, title_de поставить соответствующие Collations

И для временные таблицы создавать указывая collate явно.

Вроде так. Попробую :)

приведите все текстовые поля к колэйшену дефолтному для сервера!
Тогда временные можно создавать без указания... они будут с коллэйшеном сервера.
9 июн 11, 18:30    [10791635]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить