Cyrillic general ci as что за кодировка

А какая разница какой Collation выбрать?

Статья подготовлена для студентов курса «MS SQL Server разработчик»
Хочу поделиться историей из одного из предыдущих проектов, которая иллюстрирует, что Collation нужно выбирать очень вдумчиво. И о том, что бывает, если этот параметр все-таки выбрали неверно, и какие варианты решения проблемы бывают.

Сначала небольшое введение о том, что же такое Collation. В SQL Server параметр Collation указывает серверу, как нужно сортировать и сравнивать строки. Вот, например, строки “Apple” и “apple”. Они разные или нет? Это зависит от указанного Collation. Если с регистром все более менее понятно, то что делать с примером “елка” и “ёлка”? Считать их как одинаковые или как разные? Это все тоже в Collation.

История случилась в проекте, функционал которого очень похож на DropBox или Google Диск. Он предоставляет возможность управлять своими синхронизированными папками и файлами на разных машинах, а также возможность другим пользователям иметь доступ к данной синхронизированной папке.

Cyrillic general ci as что за кодировка. Смотреть фото Cyrillic general ci as что за кодировка. Смотреть картинку Cyrillic general ci as что за кодировка. Картинка про Cyrillic general ci as что за кодировка. Фото Cyrillic general ci as что за кодировка

Итак, история началась с того, что на Prod серверах было 75-90% ошибок в логах (см скриншот ниже), и непонятно откуда они возникали, и в чем была их причина. Ошибка звучала так: “ReadWrtLst is not complete”. Далее шли детали пользователя и его папки.

Cyrillic general ci as что за кодировка. Смотреть фото Cyrillic general ci as что за кодировка. Смотреть картинку Cyrillic general ci as что за кодировка. Картинка про Cyrillic general ci as что за кодировка. Фото Cyrillic general ci as что за кодировка

По коду довольно быстро было найдено место, которое генерирует ошибку, но понять, почему она возникала, и как ее воспроизвести, у нас не получалось.Понятно было только то, что ошибка каким-то образом связана с тем, что пользователь как-то умудрился сделать еще одну папку с таким же именем в своей ОС.

Мы собрали информацию по пользователям, по которым выдается эта ошибка. И тут нас ждал первый сюрприз: из миллионов пользователей системы эта ошибка случалась всего у 50. И эти 50 пользователей генерируют 90% логов об ошибках. Так как ситуацию не получалось воспроизвести, то мы решили связаться с одним из пользователей и выяснить, по какой причине у него не синхронизируется одна из папок. Папка выглядела для нас так же, как и другие, единственное отличие было в том, что называлась она на языке пользователя с использованием иероглифов. А пользователь был японцем. К слову сказать, среди этих 50 пользователей, японцев было большинство.

Благодаря одному из разработчиков команды, нам удалось воспроизвести ошибку. Ошибка заключалась в том, что операционная система считала названия папок разными, а SQL Server считал их одинаковыми из-за выбранного Collation.

Collation, который использовался в проекте:
SQL_Latin1_General_CP1_CI_AS

Небольшое отступление о том, как прочесть Collation. (Если вы знакомы с ним, смело пропускайте.)

Итак, в Collation есть несколько частей:

Этот Collation был когда-то Collation по умолчанию, когда устанавливали SQL Server.

Какие опции есть еще?

Все текстовые поля в БД использовали тип NVARCHAR.
Получается, что, так как текущий Collation игнорировал разницу написания японских иероглифов и разницу в ширине символов, то SQL Server сравнивал строки не так, как это делала операционная система, что и вызывало проблему, т.е. пользователь мог создать папки, не мог их добавить в систему для синхронизации. Тоже самое возникло бы в дальнейшем при сравнении имен файлов.

Мы стали думать о том, как можно решить данную проблему и изменить Collation.

Collation можно выставлять на нескольких уровнях:

При этом, не рекомендуется иметь внутри БД разные Collation, потому что каждый раз при сравнении строк с разным Collation нужно будет делать преобразование с помощью COLLATE, указывая серверу, какой порядок сравнения ему нужно использовать.

Какие опции есть в ситуации, когда понятно, что Collation выбран не очень правильно?

Первая опция — изменение Collation на уровне БД — наиболее сложна. В случае с БД потребовалось бы пересоздать базу данных и перезалить туда данные. Так как система работала 24/7, эта опция была отвергнута сразу.

Вторая опция про изменение поля: самый простой вариант ее реализовать — это добавить поле с нужным Collation и туда перенести данные. Но тогда нужно будет изменять код в БД, который работает с этим полем, а кода в БД было очень много.

Третья опция понравилась нам больше всего, так как в теории это вносило меньше всего изменений, так как основное поле продолжало бы существовать с текущим Collation, и мы бы не имели проблем с его преобразованием, при этом весь нужный функционал в виде учета японской азбуки или широких символов бы работал. Минус в том, что нужно было вносить изменения в часть ПО, но так как эта серверная часть, это можно было сделать.

Четвертая опция была наиболее простой в данном случае, потому что общее число пользователей было несколько миллионов, а проблема возникала только у 50. Однако, если бы приложение активно использовалось в Японии, данное решение было бы мало применимо.

После представления данных руководству, было решено известить пользователей о том, что ПО не поддерживает ряд символов, и при их использовании в названии синхронизируемых файлов и папок ПО может работать некорректно. Это временное решение, потому что при дальнейшем распространении, количество пользователей, сталкивающихся с подобной проблемой, будет нарастать, и нужно будет что-то менять, используя первые три опции.

Лучший вариант выбора Collation — исходить из требований вашего приложения. Если вам нужно, чтобы SQL Server сравнивал строки так же как ОС, то Collation по умолчанию точно неверен. К сожалению, такие нюансы редко видны на старте проекта при проектировании системы, но, надеюсь, прочитав статью, Вы вспомните об описанной ситуации и не наступите на подобные грабли сами.

Источник

Разница между collation Cyrillic_General и Cyrillic_General_100

Устанавливаю SQL Server 2016 Express Edition на Windows 2016 Server, хотел выбрать кириллическую collation, однако их находится две: Cyrillic_General и Cyrillic_General_100

Cyrillic general ci as что за кодировка. Смотреть фото Cyrillic general ci as что за кодировка. Смотреть картинку Cyrillic general ci as что за кодировка. Картинка про Cyrillic general ci as что за кодировка. Фото Cyrillic general ci as что за кодировка

В чём между ними разница? Сомневаюсь в выборе. Вижу, что почти все сопоставления имеют два варианта (со _100 и без), что это значит и для чего нужно?

Cyrillic general ci as что за кодировка. Смотреть фото Cyrillic general ci as что за кодировка. Смотреть картинку Cyrillic general ci as что за кодировка. Картинка про Cyrillic general ci as что за кодировка. Фото Cyrillic general ci as что за кодировка

2 ответа 2

Cyrillic_General и Cyrillic_General_100
В чём между ними разница?

Насколько я исследовал этот вопрос, символы русского алфавита (А-Я, а-я), а также символы латинского алфавита, цифры и знаки (с кодами 0x0020-0x007E) и в Cyrillic_General и в Cyrillic_General_100 обрабатываются одинаково. Однако есть разница для кириллических символов не используемых в русском языке.

Также в Cyrillic_General буквы Ѐ и ѐ не преобразуются корректно к противоположному регистру, тогда как в Cyrillic_General_100 преобразование регистра для них корректное:

Есть разница и для некоторых других кириллических символов (и для не кириллических тоже).

Обратите внимание также, что при установке задаётся collation инстанса. Для создаваемых в последствие баз данных всегда можно указать любой другой нужный collation (если не указать, то БД будет создана с collation инстанса). Поэтому, если вы не используете символы русского алфавита в названиях баз данных, логинов, серверных ролей и прочих instance-scope вещах, то, в принципе, можете выбрать даже и Latin1_General_100.

Источник

Имя параметров сортировки Windows (Transact-SQL)

Задает имя параметров сортировки Windows с помощью предложения COLLATE в SQL Server. Имя параметра сортировки Windows состоит из двух частей: обозначения параметров сортировки и стиля сравнения.

Cyrillic general ci as что за кодировка. Смотреть фото Cyrillic general ci as что за кодировка. Смотреть картинку Cyrillic general ci as что за кодировка. Картинка про Cyrillic general ci as что за кодировка. Фото Cyrillic general ci as что за кодировкаСинтаксические обозначения в Transact-SQL

Синтаксис

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.

Аргументы

CollationDesignator
Указывает базовые параметры сортировки, используемые параметрами сортировки Windows. Правила базовых параметров сортировки отвечают за следующее.

CaseSensitivity
CI указывает, что регистр символов не учитывается, CS определяет учет регистра.

AccentSensitivity
AI означает, что диакритические знаки пропускаются, AS показывает, что они учитываются.

KanatypeSensitive
Пропуск этого параметра означает, что тип японской азбуки не учитывается, KS означает, что тип японской азбуки учитывается.

WidthSensitivity
Пропуск этого параметра означает, что ширина символов не учитывается, WS означает, что ширина символов учитывается.

Область применения: Начиная с SQL Server 2017 (14.x);

Пропуск этого параметра означает, что знаки выбора варианта не учитываются, VSS означает, что знаки выбора варианта учитываются.

UTF8

Область применения: Начиная с SQL Server 2019 (15.x)

Указывает кодировку UTF-8, используемую для допустимых типов данных. Дополнительные сведения см. в статье Collation and Unicode Support.

BIN
Указывает подлежащий использованию двоичный порядок сортировки, применяющийся для обеспечения обратной совместимости.

BIN2
Определяет двоичный порядок сортировки, использующий семантику сравнения кодовых точек.

Комментарии

Первая инструкция выводит как прописную, так и строчную форму символа в предыдущей версии параметров сортировки (параметры сортировки не влияют на доступность символов при работе с данными в Юникоде). Однако вторая инструкция возвращает прописную букву для параметров сортировки Latin1_General_CI_AS, так как в них не определено соответствие со строчной буквой для этой кодовой точки.

При работе с некоторыми языками, может быть крайне необходимым избегать прошлых сортировок. Например, это является верным для Telegu.

В некоторых случаях сортировки Windows и сортировки службы SQL Server могут создать разные планы запросов для одного и того же запроса.

Примеры

Ниже приведены некоторые примеры имен параметров сортировки Windows.

Latin1_General_100_CI_AS

Параметры сортировки используют правила сортировки словаря Latin1 General и ставят в соответствие кодовую страницу 1252. Это параметры сортировки версии _100 без учета регистра (CI) и с учетом диакритических знаков (AS).

Estonian_CS_AS

Параметры сортировки используют правила сортировки словаря Estonian и сопоставлены с кодовой страницей 1257. Это параметры сортировки версии _80 (на что указывает отсутствие номера версии в имени) с учетом регистра (CI) и диакритических знаков (AS).

Japanese_Bushu_Kakusu_140_BIN2

Параметры сортировки используют правила сортировки двоичной кодовой точки и сопоставлены с кодовой страницей 932. Это правила сортировки версии _140; правила сортировки словаря Japanese Bushu Kakusu не учитываются.

Параметры сортировки Windows

Чтобы сформировать список параметров сортировки Windows, которые поддерживаются экземпляром SQL Server, выполните следующий запрос.

В следующей таблице приведены все параметры сортировки Windows, поддерживаемые в SQL Server.

Локаль WindowsВерсия параметров сортировки 100Версия параметров сортировки 90
Эльзасский (Франция)Latin1_General_100_Недоступно
Амхарик (Эфиопия)Latin1_General_100_Недоступно
Армянский (Армения)Cyrillic_General_100_Недоступно
Ассамский (Индия)Assamese_100_ 1Недоступно
Бенгальский (Бангладеш)Bengali_100_ 1Недоступно
Башкирский (Россия)Bashkir_100_Недоступно
БаскскийLatin1_General_100_Недоступно
Bengali (India)Bengali_100_ 1Недоступно
Боснийский (Босния и Герцеговина, кириллица)Bosnian_Cyrillic_100_Недоступно
Боснийский (Босния и Герцеговина, латиница)Bosnian_Latin_100_Недоступно
Бретонский (Франция)Breton_100_Недоступно
Chinese (Macao SAR)Chinese_Traditional_Pinyin_100_Недоступно
Chinese (Macao SAR)Chinese_Traditional_Stroke_Order_100_Недоступно
Chinese (Singapore)Chinese_Simplified_Stroke_Order_100_Недоступно
Корсиканский (Франция)Corsican_100_Недоступно
Хорватский (Босния и Герцеговина, латиница)Croatian_100_Недоступно
Дари (Афганистан)Dari_100_Недоступно
Английский (Индия)Latin1_General_100_Недоступно
Английский (Малайзия)Latin1_General_100_Недоступно
Английский (Сингапур)Latin1_General_100_Недоступно
Филиппинский (Филиппины)Latin1_General_100_Недоступно
Фризский (Нидерланды)Frisian_100_Недоступно
Грузинский (Грузия)Cyrillic_General_100_Недоступно
Гренландский (Гренландия)Danish_Greenlandic_100_Недоступно
Гуджарати (Индия)Indic_General_100_ 1Indic_General_90_
Хауса (Нигерия, латиница)Latin1_General_100_Недоступно
Хинди (Индия)Indic_General_100_ 1Indic_General_90_
Игбо (Нигерия)Latin1_General_100_Недоступно
Инуитский (Канада, латиница)Latin1_General_100_Недоступно
Инуитский (Канада)Latin1_General_100_Недоступно
Ирландский (Ирландия)Latin1_General_100_Недоступно
Японский (Япония)Japanese_XJIS_100_Japanese_90_, Japanese_
Японский (Япония)Japanese_Bushu_Kakusu_100_Недоступно
Каннада (Индия)Indic_General_100_ 1Indic_General_90_
Кхмерский (Камбоджа)Khmer_100_ 1Недоступно
Киче (Гватемала)Modern_Spanish_100_Недоступно
Киньяруанда (Руанда)Latin1_General_100_Недоступно
Конкани (Индия)Indic_General_100_ 1Indic_General_90_
Лаосский (Лаосская Народно-Демократическая Республика)Lao_100_ 1Недоступно
Нижний Сорбский (Германия)Latin1_General_100_Недоступно
Люксембургский (Люксембург)Latin1_General_100_Недоступно
Малайялам (Индия)Indic_General_100_ 1Недоступно
Мальтийский (Мальта)Maltese_100_Недоступно
Маорийский (Новая Зеландия)Maori_100_Недоступно
Мапудунгун (Чили)Mapudungan_100_Недоступно
Маратхи (Индия)Indic_General_100_ 1Indic_General_90_
Могавк (Канада)Mohawk_100_Недоступно
Монгольский (КНР)Cyrillic_General_100_Недоступно
Непальский (Непал)Nepali_100_ 1Недоступно
Норвежский (букмол, Норвегия)Norwegian_100_Недоступно
Норвежский (нюнорск/ландсмол, Норвегия)Norwegian_100_Недоступно
Окситанский (Франция)French_100_Недоступно
Ория (Индия)Indic_General_100_ 1Недоступно
Пушту (Афганистан)Pashto_100_ 1Недоступно
Персидский (Иран)Persian_100_Недоступно
Панджабский (Индия)Indic_General_100_ 1Indic_General_90_
Кечуа (Боливия)Latin1_General_100_Недоступно
Кечуа (Эквадор)Latin1_General_100_Недоступно
Кечуа (Перу)Latin1_General_100_Недоступно
Романш (Швейцария)Romansh_100_Недоступно
Саамский (Инари, Финляндия)Sami_Sweden_Finland_100_Недоступно
Саамский (Луле, Норвегия)Sami_Norway_100_Недоступно
Саамский (Луле, Швеция)Sami_Sweden_Finland_100_Недоступно
Саамский (Северный, Финляндия)Sami_Sweden_Finland_100_Недоступно
Саамский (Северный, Норвегия)Sami_Norway_100_Недоступно
Саамский (Северный, Швеция)Sami_Sweden_Finland_100_Недоступно
Саамский (Скольт, Финляндия)Sami_Sweden_Finland_100_Недоступно
Саамский (Южный, Норвегия)Sami_Norway_100_Недоступно
Саамский (Южный, Швеция)Sami_Sweden_Finland_100_Недоступно
Санскрит (Индия)Indic_General_100_ 1Indic_General_90_
Сербский (Босния и Герцеговина, кириллица)Serbian_Cyrillic_100_Недоступно
Сербский (Босния и Герцеговина, латиница)Serbian_Latin_100_Недоступно
Сербский (Сербия, кириллица)Serbian_Cyrillic_100_Недоступно
Сербский (Сербия, латиница)Serbian_Latin_100_Недоступно
Сесуто са Лебоа/Северный Суто (Южная Африка)Latin1_General_100_Недоступно
Сетсвана/Тсвана (Южная Африка)Latin1_General_100_Недоступно
Синхала (Шри-Ланка)Indic_General_100_ 1Недоступно
Суахили (Кения)Latin1_General_100_Недоступно
Сирийский (Сирия)Syriac_100_ 1Syriac_90_
Таджикский (Таджикистан)Cyrillic_General_100_Недоступно
Тамазихт (Алжир, латиница)Tamazight_100_Недоступно
Тамильский (Индия)Indic_General_100_ 1Indic_General_90_
Телугу (Индия)Indic_General_100_ 1Indic_General_90_
Тибетский (КНР)Tibetan_100_ 1Недоступно
Туркменский (Туркменистан)Turkmen_100_Недоступно
Уйгурский (КНР)Uighur_100_Недоступно
Верхний Сорбский (Германия)Upper_Sorbian_100_Недоступно
Урду (Пакистан)Urdu_100_Недоступно
Валлийский (Великобритания)Welsh_100_Недоступно
Волоф (Сенегал)French_100_Недоступно
Коса/исиКоса (Южная Африка)Latin1_General_100_Недоступно
Саха (Россия)Yakut_100_Недоступно
Носу (КНР)Latin1_General_100_Недоступно
Йоруба (Нигерия)Latin1_General_100_Недоступно
Зулу/исиЗулу (Южная Африка)Latin1_General_100_Недоступно
Устарело. Отсутствует на уровне сервера в SQL Server 2008 и более поздних версияхHindiHindi
Устарело. Отсутствует на уровне сервера в SQL Server 2008 и более поздних версияхKorean_Wansung_UnicodeKorean_Wansung_Unicode
Устарело. Отсутствует на уровне сервера в SQL Server 2008 и более поздних версияхLithuanian_ClassicLithuanian_Classic
Устарело. Отсутствует на уровне сервера в SQL Server 2008 и более поздних версияхMacedonianMacedonian

1 Параметры сортировки Windows «Только для Юникода» можно применять только к данным на уровне столбца или уровне выражения. Они не могут использоваться в качестве параметров сортировки базы данных или сервера.

2 Как и при параметрах сортировки в китайском (Тайвань), в китайском (Макао) используются правила упрощенного китайского языка, но в отличие от китайского (Тайвань) используется кодовая страница 950.

Источник

Поддержка параметров сортировки и Юникода

Параметры сортировки SQL Server предоставляют свойства, управляющие правилами сортировки, учета регистра и диакритических знаков в данных. Параметры сортировки, используемые с символьными типами данных, такими как char или varchar, указывают кодовую страницу и соответствующие символы, которые могут быть представлены для этого типа данных.

Независимо от того, устанавливается ли новый экземпляр SQL Server, восстанавливается ли база данных из резервной копии или сервер соединяется с клиентскими базами данных, важно понимать требования к языковому стандарту, знать порядок сортировки и необходимость учета регистра или диакритических знаков в данных, с которыми вы работаете. Описание того, как получить список доступных параметров сортировки в экземпляре SQL Server, см. в статье sys.fn_helpcollations (Transact-SQL).

Для эффективного использования поддержки параметров сортировки в SQL Serverнеобходимо понимать термины, представленные в этой статье, и их связь с характеристиками данных.

Термины, связанные с параметрами сортировки

Параметры сортировки

Параметры сортировки задают битовые шаблоны, представляющие каждый символ в наборе данных. Параметры сортировки определяют правила, используемые при сортировке и сравнении данных. SQL Server поддерживает хранение объектов с различными параметрами сортировки в одной базе данных. Для столбцов в кодировке, отличающейся от Юникода, настройка параметров сортировки определяет кодовую страницу данных и соответствующую возможность представления символов. Данные, которые перемещаются между столбцами в форматах, отличных от Юникода, необходимо преобразовывать из исходной кодовой страницы в целевую.

Результат выполнения инструкцииTransact-SQL может различаться в зависимости от контекста различных баз данных, которые имеют свои параметры сортировки. По возможности используйте стандартные параметры сортировки для всей организации. Тем самым не придется указывать параметры сортировки для каждого символа или выражения Юникода. Если необходимо работать с объектами, имеющими различные параметры сортировки и кодовые страницы, создание запросов должно производиться с учетом очередности параметров сортировки. Дополнительные сведения см. в разделе Очередность параметров сортировки (Transact-SQL).

Параметры сортировки могут учитывать регистр, диакритические знаки, тип японской азбуки, ширину символов и знаки выбора варианта. В SQL Server 2019 (15.x) появился дополнительный параметр для кодирования UTF-8.

Эти параметры можно задать путем их добавления к имени параметров сортировки. Например, параметр Japanese_Bushu_Kakusu_100_CS_AS_KS_WS_UTF8 определяет параметры сортировки с учетом диакритических знаков, регистра, типа японской азбуки, ширины символов и кодировки UTF-8. Еще один пример: параметр Japanese_Bushu_Kakusu_140_CI_AI_KS_WS_VSS определяет параметры сортировки без учета регистра, без учета диакритических знаков, с учетом типа японской азбуки, с учетом ширины символов, с учетом знаков выбора варианта и с использованием кодировки не в Юникоде.

В приведенной ниже таблице описывается режим работы, связанный с этими параметрами.

ПараметрОписание
С учетом регистра (_CS)Различаются буквы верхнего и нижнего регистров. При выборе этого параметра буквы нижнего регистра при сортировке ставятся перед соответствующими буквами верхнего регистра. Если этот параметр не выбран, параметры сортировки не учитывают регистр. То есть при сортировке SQL Server считает буквы верхнего и нижнего регистров и делает их идентичными друг другу. Можно явно выбрать нечувствительность к регистру, указав параметр _CI.
С учетом диакритических знаков (_AS)Различаются символы с диакритическими знаками и без них. Например, «a» отлично от «ấ». Если этот параметр не выбран, параметры сортировки не учитывают диакритические знаки. То есть при сортировке SQL Server рассматривает варианты букв с диакритическими знаками и без них как идентичные. Можно явно выбрать нечувствительность к диакритическим знакам, указав параметр _АI.
С учетом типа японской азбуки (_KS)Различаются два вида японской азбуки: хирагана и катакана. Если этот параметр не выбран, параметры сортировки не учитывают тип японской азбуки. То есть при сортировке SQL Server рассматривает символы хирагана и катакана как идентичные. Пропуск этого параметра является единственным способом указания нечувствительности к типу японской азбуки.
С учетом ширины символов (_WS)Отличия между символами полной ширины и средней ширины. Если этот параметр не выбран, SQL Server принимает отображение одного и того же символа полной ширины и средней ширины как идентичное для целей сортировки. Пропуск этого параметра является единственным способом указания нечувствительности к ширине символов.
С учетом знаков выбора варианта (_VSS)Различаются идеографические знаки выбора варианта в японских параметрах сортировки Japanese_Bushu_Kakusu_140 и Japanese_XJIS_140, появившихся в SQL Server 2017 (14.x);. Последовательность вариантов состоит из базового знака и дополнительного знака выбора вариантов. Если этот параметр _VSS не выбран, параметры сортировки не учитывают знак выбора варианта, а сам знак выбора варианта не учитывается при сравнении. То есть при сортировке SQL Server считает символы, основанные на одном базовом символе, но с разными знаками выбора варианта, равнозначными. Дополнительные сведения см. в статье Unicode Ideographic Variation Database (База данных идеографических вариантов Юникода).

Параметры сортировки с учетом знаков выбора варианта (_VSS) не поддерживаются в полнотекстовых индексах. Полнотекстовые индексы поддерживают только параметры с учетом диакритических знаков (_AS), типа японской азбуки (_KS) и ширины символов (_WS). Подсистемы CLR и XML в SQL Server не поддерживают знаки выбора варианта (_VSS).

Двоичный (_BIN) 1Данные в SQL Server сортируются и сравниваются на основе битовых шаблонов, определенных для каждого символа. Двоичный порядок сортировки учитывает регистр и диакритические знаки. Двоичный порядок сортировки является самым быстрым. Дополнительные сведения см. в разделе Параметры двоичной сортировки в этой статье.
Элемент двоичного кода (_BIN2) 1Данные в SQL Server сортируются и сравниваются на основе элементов Юникода для данных в Юникоде. Для типов данных не в Юникоде при выборе BIN2 сравнение производится так же, как и двоичная сортировка.

Преимуществом использования порядка сортировки BIN2 является то, что приложениям, сравнивающим отсортированные данные SQL Server, не требуется никакой повторной сортировки данных. В результате сортировка BIN2 упрощает разработку приложения и увеличивает ожидаемую производительность. Дополнительные сведения см. в разделе Параметры двоичной сортировки в этой статье.

UTF-8 (_UTF8)Позволяет хранить данные в кодировке UTF-8 в SQL Server. Если этот параметр не выбран, SQL Server использует формат кодировки по умолчанию (не в Юникоде) для подходящих типов данных. Дополнительные сведения см. в разделе Поддержка UTF-8 в этой статье.

1 Если выбран порядок сортировки BIN или BIN2, параметры с учетом регистра (_CS), диакритических знаков (_AS), типа японской азбуки (_KS) и ширины символов (_WS) недоступны.

Примеры параметров сортировки

Каждый набор параметров сортировки представляет собой последовательность суффиксов для определения учета регистра, диакритических знаков, ширины символов и типа японской азбуки. В следующих примерах описан порядок сортировки для различных сочетаний суффиксов.

Суффикс параметров сортировки WindowsОписание порядка сортировки
_BIN 1Двоичная сортировка
_BIN2 1, 2Порядок сортировки элементов двоичного кода
_CI_AI 2Без учета регистра, без учета диакритических знаков, без учета типа японской азбуки, без учета ширины символов
_CI_AI_KS 2Без учета регистра, без учета диакритических знаков, с учетом типа японской азбуки, без учета ширины символов
_CI_AI_KS_WS 2Без учета регистра, без учета диакритических знаков, с учетом типа японской азбуки, с учетом ширины символов
_CI_AI_WS 2Без учета регистра, без учета диакритических знаков, без учета типа японской азбуки, с учетом ширины символов
_CI_AS 2Без учета регистра, с учетом диакритических знаков, без учета типа японской азбуки, без учета ширины символов
_CI_AS_KS 2Без учета регистра, с учетом диакритических знаков, с учетом типа японской азбуки, без учета ширины символов
_CI_AS_KS_WS 2Без учета регистра, с учетом диакритических знаков, с учетом типа японской азбуки, с учетом ширины символов
_CI_AS_WS 2Без учета регистра, с учетом диакритических знаков, без учета типа японской азбуки, с учетом ширины символов
_CS_AI 2С учетом регистра, без учета диакритических знаков, без учета типа японской азбуки, без учета ширины символов
_CS_AI_KS 2С учетом регистра, без учета диакритических знаков, с учетом типа японской азбуки, без учета ширины символов
_CS_AI_KS_WS 2С учетом регистра, без учета диакритических знаков, с учетом типа японской азбуки, с учетом ширины символов
_CS_AI_WS 2С учетом регистра, без учета диакритических знаков, без учета типа японской азбуки, с учетом ширины символов
_CS_AS 2С учетом регистра, с учетом диакритических знаков, без учета типа японской азбуки, без учета ширины символов
_CS_AS_KS 2С учетом регистра, с учетом диакритических знаков, с учетом типа японской азбуки, без учета ширины символов
_CS_AS_KS_WS 2С учетом регистра, с учетом диакритических знаков, с учетом типа японской азбуки, с учетом ширины символов
_CS_AS_WS 2С учетом регистра, с учетом диакритических знаков, без учета типа японской азбуки, с учетом ширины символов

1 Если выбран порядок сортировки BIN или BIN2, параметры с учетом регистра (_CS), диакритических знаков (_AS), типа японской азбуки (_KS) и ширины символов (_WS) недоступны.

2 Добавление параметра UTF-8 (_UTF8) позволяет кодировать данные в Юникоде с использованием UTF-8. Дополнительные сведения см. в разделе Поддержка UTF-8 в этой статье.

Наборы параметров сортировки

SQL Server поддерживает следующие наборы параметров сортировки:

Параметры сортировки Windows

Параметры сортировки Windows определяют правила хранения символьных данных на основе соответствующего языкового стандарта системы Windows. Для параметров сортировки Windows сравнение данных в формате, отличном от Юникода, можно реализовать с помощью такого же алгоритма, как и для данных в Юникоде. Базовые правила параметров сортировки Windows задают алфавит или язык, используемый при сортировке по словарю. Кроме того, они определяют кодовую страницу, используемую для хранения символьных данных не в Юникоде. Сортировка в Юникоде и в других форматах совместима со строковым сравнением в соответствующей версии Windows. Тем самым обеспечивается согласованность обработки различных типов данных в SQL Server, а разработчики получают возможность сортировать строки в приложениях по тем же правилам, что и в SQL Server. Дополнительные сведения см. в статье Имя параметров сортировки Windows (Transact-SQL).

Параметры двоичной сортировки

При двоичных параметрах сортировки данные сортируются на основе последовательности закодированных значений, определяемых локалью и типом данных. Эти параметры учитывают регистр. Параметры двоичной сортировки в SQL Server определяют используемый языковой стандарт и кодовую страницу ANSI. При этом принудительно реализуется двоичный порядок сортировки. По причине своей относительной простоты параметры двоичной сортировки помогают повысить производительность приложений. Для типов данных не в Юникоде сравнение данных производится на основе кодовых точек, определенных в кодовой странице ANSI. Типы данных в Юникоде сравниваются на основе элементов кода Юникода. Для параметров двоичной сортировки на основе типов данных Юникода при сортировке данных языковой стандарт не учитывается. Например, параметры сортировки Latin_1_General_BIN и Japanese_BIN дают одинаковые результаты сортировки, если используются с данными в Юникоде. Дополнительные сведения см. в статье Имя параметров сортировки Windows (Transact-SQL).

В SQL Server имеются два типа параметров двоичной сортировки.

Прежние параметры двоичной сортировки BIN, которые выполняли неполное сравнение кодовых точек для данных в Юникоде. Эти параметры двоичной сортировки сравнивали первые символы как тип данных WCHAR, а затем следовало побитовое сравнение. При использовании параметров сортировки BIN только первый символ сортируется в соответствии с кодовой точкой. Остальные символы сортируются в соответствии с их значениями байта.

Новые параметры сортировки BIN2, которые выполняют сравнение исключительно кодовых точек. При использовании параметров сортировки BIN2 все символы сортируются в соответствии с их кодовыми точками. Так как платформа Intel не всегда является архитектурой по порядку следования байтов, символы кода Unicode всегда хранятся с перестановкой байтов.

Параметры сортировки SQL Server

Параметры сортировки SQL Server (SQL_*) имеют обратную совместимость с более ранними версиями SQL Server, с точки зрения порядка сортировки. Правила сортировки словаря для данных в формате, отличном от Юникода, не совместимы ни с какими подпрограммами сортировки операционных систем Windows. Однако сортировка данных в Юникоде совместима с правилами сортировки определенной версии Windows. Так как параметры сортировки SQL Server применяют для данных в Юникоде и других форматах разные правила сравнения, при сравнении одних и тех же данных получаются разные результаты, которые зависят от базового типа данных. Дополнительные сведения см. в статье Имя параметров сортировки SQL Server (Transact-SQL).

Во время установки SQL Server параметры сортировки по умолчанию определяются языковым стандартом операционной системы. Параметры сортировки уровня сервера можно изменить в процессе установки. Кроме того, их можно изменить, сменив языковой стандарт ОС перед установкой. В целях обратной совместимости для параметров сортировки по умолчанию устанавливается самая старая доступная версия, связанная с определенным языковым стандартом. В связи с этим данные параметры сортировки рекомендуется использовать не во всех случаях. Для использования всех возможностей SQL Server следует изменить параметры установки по умолчанию для параметров сортировки Windows. Например, для языкового стандарта ОС «Английский (США)» (кодовая страница 1252) параметры сортировки по умолчанию во время установки — SQL_Latin1_General_CP1_CI_AS. Их можно изменить на ближайший аналог в Windows Latin1_General_100_CI_AS_SC.

При обновлении англоязычной версии экземпляра SQL Server можно задать параметры сортировки SQL Server (SQL_*), чтобы обеспечить совместимость с существующими экземплярами SQL Server. Так как для экземпляра SQL Server параметры сортировки по умолчанию определяются во время установки, очень важно правильно настроить параметры сортировки в следующих случаях:

Уровни параметров сортировки

Настройка параметров сортировки поддерживается на следующих уровнях экземпляра SQL Server.

Параметры сортировки уровня сервера

Параметры сортировки сервера по умолчанию определяются в процессе установки SQL Server и становятся параметрами сортировки по умолчанию для системных баз данных и всех пользовательских баз данных.

В приведенной ниже таблице представлены параметры сортировки по умолчанию, определяемые языковым стандартом операционной системы (ОС), включая коды языков (LCID) в Windows и SQL.

Локаль WindowsКод языка в WindowsКод языка SQLПараметры сортировки по умолчанию
Африкаанс (Южная Африка)0x04360x0409Latin1_General_CI_AS
Албанский (Албания)0x041c0x041cAlbanian_CI_AS
Эльзасский (Франция)0x04840x0409Latin1_General_CI_AS
Амхарик (Эфиопия)0x045e0x0409Latin1_General_CI_AS
Арабский (Алжир)0x14010x0401Arabic_CI_AS
Арабский (Бахрейн)0x3c010x0401Arabic_CI_AS
Арабский (Египет)0x0c010x0401Arabic_CI_AS
Арабский (Ирак)0x08010x0401Arabic_CI_AS
Арабский (Иордания)0x2c010x0401Arabic_CI_AS
Арабский (Кувейт)0x34010x0401Arabic_CI_AS
Арабский (Ливан)0x30010x0401Arabic_CI_AS
Арабский (Ливия)0x10010x0401Arabic_CI_AS
Арабский (Марокко)0x18010x0401Arabic_CI_AS
Арабский (Оман)0x20010x0401Arabic_CI_AS
Арабский (Катар)0x40010x0401Arabic_CI_AS
Арабский (Саудовская Аравия)0x04010x0401Arabic_CI_AS
Арабский (Сирия)0x28010x0401Arabic_CI_AS
Арабский (Тунис)0x1c010x0401Arabic_CI_AS
Арабский (ОАЭ)0x38010x0401Arabic_CI_AS
Арабский (Йемен)0x24010x0401Arabic_CI_AS
Армянский (Армения)0x042b0x0419Latin1_General_CI_AS
Ассамский (Индия)0x044d0x044dНедоступен на уровне сервера
Азербайджанский (Азербайджан, кириллица)0x082c0x082cЯвляется нерекомендуемым и недоступен на уровне сервера
Азербайджанский (Азербайджан, латиница)0x042c0x042cЯвляется нерекомендуемым и недоступен на уровне сервера
Башкирский (Россия)0x046d0x046dLatin1_General_CI_AI
Баскский0x042d0x0409Latin1_General_CI_AS
Белорусский (Беларусь)0x04230x0419Cyrillic_General_CI_AS
Бенгальский (Бангладеш)0x08450x0445Недоступен на уровне сервера
Bengali (India)0x04450x0439Недоступен на уровне сервера
Боснийский (Босния и Герцеговина, кириллица)0x201a0x201aLatin1_General_CI_AI
Боснийский (Босния и Герцеговина, латиница)0x141a0x141aLatin1_General_CI_AI
Бретонский (Франция)0x047e0x047eLatin1_General_CI_AI
Болгарский (Болгария)0x04020x0419Cyrillic_General_CI_AS
Catalan (Catalan)0x04030x0409Latin1_General_CI_AS
Китайский (Гонконг, КНР)0x0c040x0404Chinese_Taiwan_Stroke_CI_AS
Chinese (Macao SAR)0x14040x1404Latin1_General_CI_AI
Китайский (Макау)0x214040x21404Latin1_General_CI_AI
Китайский (КНР)0x08040x0804Chinese_PRC_CI_AS
Китайский (КНР)0x208040x20804Chinese_PRC_Stroke_CI_AS
Chinese (Singapore)0x10040x0804Chinese_PRC_CI_AS
Chinese (Singapore)0x210040x20804Chinese_PRC_Stroke_CI_AS
Китайский (Тайвань)0x304040x30404Chinese_Taiwan_Bopomofo_CI_AS
Китайский (Тайвань)0x04040x0404Chinese_Taiwan_Stroke_CI_AS
Корсиканский (Франция)0x04830x0483Latin1_General_CI_AI
Хорватский (Босния и Герцеговина, латиница)0x101a0x041aCroatian_CI_AS
Хорватский (Хорватия)0x041a0x041aCroatian_CI_AS
Чешский (Чешская Республика)0x04050x0405Czech_CI_AS
Датский (Дания)0x04060x0406Danish_Norwegian_CI_AS
Дари (Афганистан)0x048c0x048cLatin1_General_CI_AI
Мальдивский (Мальдивы)0x04650x0465Недоступен на уровне сервера
Нидерландский (Бельгия)0x08130x0409Latin1_General_CI_AS
Нидерландский (Нидерланды)0x04130x0409Latin1_General_CI_AS
Английский (Австралия)0x0c090x0409Latin1_General_CI_AS
Английский (Белиз)0x28090x0409Latin1_General_CI_AS
Английский (Канада)0x10090x0409Latin1_General_CI_AS
Английский (Карибский бассейн)0x24090x0409Latin1_General_CI_AS
Английский (Индия)0x40090x0409Latin1_General_CI_AS
Английский (Ирландия)0x18090x0409Latin1_General_CI_AS
Английский (Ямайка)0x20090x0409Latin1_General_CI_AS
Английский (Малайзия)0x44090x0409Latin1_General_CI_AS
Английский (Новая Зеландия)0x14090x0409Latin1_General_CI_AS
Английский (Филиппины)0x34090x0409Latin1_General_CI_AS
Английский (Сингапур)0x48090x0409Latin1_General_CI_AS
Английский (Южная Африка)0x1c090x0409Latin1_General_CI_AS
Английский (Тринидад и Тобаго)0x2c090x0409Latin1_General_CI_AS
Английский (Великобритания)0x08090x0409Latin1_General_CI_AS
Английский (США)0x04090x0409SQL_Latin1_General_CP1_CI_AS
Английский (Зимбабве)0x30090x0409Latin1_General_CI_AS
Эстонский (Эстония)0x04250x0425Estonian_CI_AS
Фарерский (Фарерские острова)0x04380x0409Latin1_General_CI_AS
Филиппинский (Филиппины)0x04640x0409Latin1_General_CI_AS
Финский (Финляндия)0x040b0x040bFinnish_Swedish_CI_AS
Французский (Бельгия)0x080c0x040cFrench_CI_AS
Французский (Канада)0x0c0c0x040cFrench_CI_AS
Французский (Франция)0x040c0x040cFrench_CI_AS
Французский (Люксембург)0x140c0x040cFrench_CI_AS
Французский (Монако)0x180c0x040cFrench_CI_AS
Французский (Швейцария)0x100c0x040cFrench_CI_AS
Фризский (Нидерланды)0x04620x0462Latin1_General_CI_AI
Галисийский0x04560x0409Latin1_General_CI_AS
Грузинский (Грузия)0x104370x10437Georgian_Modern_Sort_CI_AS
Грузинский (Грузия)0x04370x0419Latin1_General_CI_AS
Немецкий (сортировка телефонной книги)0x104070x10407German_PhoneBook_CI_AS
Немецкий (Австрия)0x0c070x0409Latin1_General_CI_AS
Немецкий (Германия)0x04070x0409Latin1_General_CI_AS
Немецкий (Лихтенштейн)0x14070x0409Latin1_General_CI_AS
Немецкий (Люксембург)0x10070x0409Latin1_General_CI_AS
Немецкий (Швейцария)0x08070x0409Latin1_General_CI_AS
Греческий (Греция)0x04080x0408Greek_CI_AS
Гренландский (Гренландия)0x046f0x0406Danish_Norwegian_CI_AS
Гуджарати (Индия)0x04470x0439Недоступен на уровне сервера
Хауса (Нигерия, латиница)0x04680x0409Latin1_General_CI_AS
Иврит (Израиль)0x040d0x040dHebrew_CI_AS
Хинди (Индия)0x04390x0439Недоступен на уровне сервера
Венгерский (Венгрия)0x040e0x040eHungarian_CI_AS
Венгерский (техническая сортировка)0x1040e0x1040eHungarian_Technical_CI_AS
Исландский (Исландия)0x040f0x040fIcelandic_CI_AS
Игбо (Нигерия)0x04700x0409Latin1_General_CI_AS
Индонезийский (Индонезия)0x04210x0409Latin1_General_CI_AS
Инуитский (Канада, латиница)0x085d0x0409Latin1_General_CI_AS
Инуитский (Канада)0x045d0x045dLatin1_General_CI_AI
Ирландский (Ирландия)0x083c0x0409Latin1_General_CI_AS
Итальянский (Италия)0x04100x0409Latin1_General_CI_AS
Итальянский (Швейцария)0x08100x0409Latin1_General_CI_AS
Японский (Япония)0x04110x0411Japanese_CI_AS
Японский (Япония)0x0404110x40411Latin1_General_CI_AI
Каннада (Индия)0x044b0x0439Недоступен на уровне сервера
Казахский (Казахстан)0x043f0x043fKazakh_90_CI_AS
Кхмерский (Камбоджа)0x04530x0453Недоступен на уровне сервера
Киче (Гватемала)0x04860x0c0aModern_Spanish_CI_AS
Киньяруанда (Руанда)0x04870x0409Latin1_General_CI_AS
Конкани (Индия)0x04570x0439Недоступен на уровне сервера
Корейский (Корея, словарная сортировка)0x04120x0412Korean_Wansung_CI_AS
Киргизский (Киргизия)0x04400x0419Cyrillic_General_CI_AS
Лаосский (Лаосская Народно-Демократическая Республика)0x04540x0454Недоступен на уровне сервера
Латышский (Латвия)0x04260x0426Latvian_CI_AS
Литовский (Литва)0x04270x0427Lithuanian_CI_AS
Нижний Сорбский (Германия)0x082e0x0409Latin1_General_CI_AS
Люксембургский (Люксембург)0x046e0x0409Latin1_General_CI_AS
Северная Македония0x042f0x042fMacedonian_FYROM_90_CI_AS
Малайский (Бруней-Даруссалам)0x083e0x0409Latin1_General_CI_AS
Малайский (Малайзия)0x043e0x0409Latin1_General_CI_AS
Малайялам (Индия)0x044c0x0439Недоступен на уровне сервера
Мальтийский (Мальта)0x043a0x043aLatin1_General_CI_AI
Маорийский (Новая Зеландия)0x04810x0481Latin1_General_CI_AI
Мапудунгун (Чили)0x047a0x047aLatin1_General_CI_AI
Маратхи (Индия)0x044e0x0439Недоступен на уровне сервера
Могавк (Канада)0x047c0x047cLatin1_General_CI_AI
Монгольский (Монголия)0x04500x0419Cyrillic_General_CI_AS
Монгольский (КНР)0x08500x0419Cyrillic_General_CI_AS
Непальский (Непал)0x04610x0461Недоступен на уровне сервера
Норвежский (букмол, Норвегия)0x04140x0414Latin1_General_CI_AI
Норвежский (нюнорск/ландсмол, Норвегия)0x08140x0414Latin1_General_CI_AI
Окситанский (Франция)0x04820x040cFrench_CI_AS
Ория (Индия)0x04480x0439Недоступен на уровне сервера
Пушту (Афганистан)0x04630x0463Недоступен на уровне сервера
Персидский (Иран)0x04290x0429Latin1_General_CI_AI
Польский (Польша)0x04150x0415Polish_CI_AS
Португальский (Бразилия)0x04160x0409Latin1_General_CI_AS
Португальский (Португалия)0x08160x0409Latin1_General_CI_AS
Панджабский (Индия)0x04460x0439Недоступен на уровне сервера
Кечуа (Боливия)0x046b0x0409Latin1_General_CI_AS
Кечуа (Эквадор)0x086b0x0409Latin1_General_CI_AS
Кечуа (Перу)0x0c6b0x0409Latin1_General_CI_AS
Румынский (Румыния)0x04180x0418Romanian_CI_AS
Романш (Швейцария)0x04170x0417Latin1_General_CI_AI
Русский (Россия)0x04190x0419Cyrillic_General_CI_AS
Саха (Россия)0x04850x0485Latin1_General_CI_AI
Саамский (Инари, Финляндия)0x243b0x083bLatin1_General_CI_AI
Саамский (Луле, Норвегия)0x103b0x043bLatin1_General_CI_AI
Саамский (Луле, Швеция)0x143b0x083bLatin1_General_CI_AI
Саамский (Северный, Финляндия)0x0c3b0x083bLatin1_General_CI_AI
Саамский (Северный, Норвегия)0x043b0x043bLatin1_General_CI_AI
Саамский (Северный, Швеция)0x083b0x083bLatin1_General_CI_AI
Саамский (Скольт, Финляндия)0x203b0x083bLatin1_General_CI_AI
Саамский (Южный, Норвегия)0x183b0x043bLatin1_General_CI_AI
Саамский (Южный, Швеция)0x1c3b0x083bLatin1_General_CI_AI
Санскрит (Индия)0x044f0x0439Недоступен на уровне сервера
Сербский (Босния и Герцеговина, кириллица)0x1c1a0x0c1aLatin1_General_CI_AI
Сербский (Босния и Герцеговина, латиница)0x181a0x081aLatin1_General_CI_AI
Сербский (Сербия, кириллица)0x0c1a0x0c1aLatin1_General_CI_AI
Сербский (Сербия, латиница)0x081a0x081aLatin1_General_CI_AI
Сесуто са Лебоа/Северный Суто (Южная Африка)0x046c0x0409Latin1_General_CI_AS
Сетсвана/Тсвана (Южная Африка)0x04320x0409Latin1_General_CI_AS
Синхала (Шри-Ланка)0x045b0x0439Недоступен на уровне сервера
Словацкий (Словакия)0x041b0x041bSlovak_CI_AS
Словенский (Словения)0x04240x0424Slovenian_CI_AS
Испанский (Аргентина)0x2c0a0x0c0aModern_Spanish_CI_AS
Испанский (Боливия)0x400a0x0c0aModern_Spanish_CI_AS
Испанский (Чили)0x340a0x0c0aModern_Spanish_CI_AS
Испанский (Колумбия)0x240a0x0c0aModern_Spanish_CI_AS
Испанский (Коста-Рика)0x140a0x0c0aModern_Spanish_CI_AS
Испанский (Доминиканская Республика)0x1c0a0x0c0aModern_Spanish_CI_AS
Испанский (Эквадор)0x300a0x0c0aModern_Spanish_CI_AS
Испанский (Эль-Сальвадор)0x440a0x0c0aModern_Spanish_CI_AS
Испанский (Гватемала)0x100a0x0c0aModern_Spanish_CI_AS
Испанский (Гондурас)0x480a0x0c0aModern_Spanish_CI_AS
Испанский (Мексика)0x080a0x0c0aModern_Spanish_CI_AS
Испанский (Никарагуа)0x4c0a0x0c0aModern_Spanish_CI_AS
Испанский (Панама)0x180a0x0c0aModern_Spanish_CI_AS
Испанский (Парагвай)0x3c0a0x0c0aModern_Spanish_CI_AS
Испанский (Перу)0x280a0x0c0aModern_Spanish_CI_AS
Испанский (Пуэрто-Рико)0x500a0x0c0aModern_Spanish_CI_AS
испанский (Испания)0x0c0a0x0c0aModern_Spanish_CI_AS
Испанский (Испания, традиционная сортировка)0x040a0x040aTraditional_Spanish_CI_AS
Испанский (США)0x540a0x0409Latin1_General_CI_AS
Испанский (Уругвай)0x380a0x0c0aModern_Spanish_CI_AS
Испанский (Венесуэла)0x200a0x0c0aModern_Spanish_CI_AS
Суахили (Кения)0x04410x0409Latin1_General_CI_AS
Шведский (Финляндия)0x081d0x040bFinnish_Swedish_CI_AS
Шведский (Швеция)0x041d0x040bFinnish_Swedish_CI_AS
Сирийский (Сирия)0x045a0x045aНедоступен на уровне сервера
Таджикский (Таджикистан)0x04280x0419Cyrillic_General_CI_AS
Тамазихт (Алжир, латиница)0x085f0x085fLatin1_General_CI_AI
Тамильский (Индия)0x04490x0439Недоступен на уровне сервера
Татарский (Россия)0x04440x0444Cyrillic_General_CI_AS
Телугу (Индия)0x044a0x0439Недоступен на уровне сервера
Тайский (Таиланд)0x041e0x041eThai_CI_AS
Тибетский (КНР)0x04510x0451Недоступен на уровне сервера
Турецкий (Турция)0x041f0x041fTurkish_CI_AS
Туркменский (Туркменистан)0x04420x0442Latin1_General_CI_AI
Уйгурский (КНР)0x04800x0480Latin1_General_CI_AI
Украинский (Украина)0x04220x0422Ukrainian_CI_AS
Верхний Сорбский (Германия)0x042e0x042eLatin1_General_CI_AI
Урду (Пакистан)0x04200x0420Latin1_General_CI_AI
Узбекский (Узбекистан, кириллица)0x08430x0419Cyrillic_General_CI_AS
Узбекский (Узбекистан, латиница)0x04430x0443Uzbek_Latin_90_CI_AS
Вьетнамский (Вьетнам)0x042a0x042aVietnamese_CI_AS
Валлийский (Великобритания)0x04520x0452Latin1_General_CI_AI
Волоф (Сенегал)0x04880x040cFrench_CI_AS
Коса/исиКоса (Южная Африка)0x04340x0409Latin1_General_CI_AS
Носу (КНР)0x04780x0409Latin1_General_CI_AS
Йоруба (Нигерия)0x046a0x0409Latin1_General_CI_AS
Зулу/исиЗулу (Южная Африка)0x04350x0409Latin1_General_CI_AS

После назначения параметров сортировки серверу изменить их можно только путем экспорта всех данных и объектов базы данных, перестроения базы данных master и последующего импорта всех объектов и данных базы данных. Вместо изменения параметров сортировки по умолчанию для экземпляра SQL Serverможно задать желаемые параметры сортировки при создании новой базы данных или столбца базы данных.

Запрос всех доступных на сервере параметров сортировки выполняется с помощью следующей встроенной функции fn_helpcollations() :

Параметры сортировки уровня базы данных

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

После создания базы данных в База данных SQL Azure параметры сортировки изменить невозможно.

Параметры сортировки пользовательской базы данных можно изменить с помощью инструкции ALTER DATABASE следующим образом:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *