Выбор сопоставления

Выбор сопоставления. На одном из этапов установки в окне Collation Settings параметры сопоставления мастер установки SQL Server 2000 предлагает выбрать сопоставление collation, которое будет использоваться по умолчанию на сервере. Этот выбор осуществляется с помощью раскрывающегося списка с вариантами допустимых сопоставлений.

Например. О Вариант Latinl General предназначен для американизированного английского набора символов кодовая страница 1252 . О Вариант Modern Spanish предназначен для всех разновидностей испанског языка, в котором используется тот же набор символов, что и в английское кодовая страница 1252 . О Вариант Arabic предназначен для всех разновидностей арабского языка довая страница 1256 . О Для России по умолчанию предлагается использовать сопоставление Windows, называющееся Cyrillic General, тем не менее можно указать любое другое сопоставление.

Также можно выбрать сопоставление SQL. В этом случае в распоряжении пользователя имеется множество различных сопоставлений, каждое из которых имеет свои отличительные характеристики. Сопоставления для России используют набор символов 1251, то есть оканчиваются на строку for use the 1251 Cyrillic Character Set. На уровне сервера указанные сопоставления относятся к семейству сопоставлений SQL Latinl General. В частности, при выборе сопоставления Windows с именем Cyrillic General на уровне сервера будет использоваться сопоставление SQL Latinl General Cpl CI AS. Это сопоставление устроит большинство пользователей. В частности, при сравнении символов не учитывается регистр.

Выбор порядка сортировки Сопоставление Windows определяет только набор символов, который будет доступен пользователям. Однако собственно сопоставление не определяет правила сравнения и сортировки символьных данных. Поэтому эти параметры должны быть сконфигурированы отдельно.

Для этого в окне Collation Settings параметры сопоставления используется набор флажков Sort Order порядок сортировки, с помощью которых разрешается тот или иной метод сортировки. В табл. 7.5 указано назначение флажков. Таблица. Типы сортировки Тип сортировки Описание Символы сравниваются в соответствии с их порядковым номером в таблице символов. Этот вид сортировки наиболее быстрый, так как не требует дополнительных вычислений Одни и те же символы, но записанные в разных регистрах, считаются разными Определяет, что SQL Server будет делать различие между символами с диакритическим знаком и без него. Например, а не будет равно а Binary Order двоичная сортировка Case-sensitive с учетом регистра Accent-sensitive с учетом диакритических знаков Двоичная сортировка является самым быстрым методом сравнения данных и всегда учитывает регистр.

Однако при использовании этой сортировки флажки Case-sensitive с учетом регистра и Accent-sensitive с учетом диакритических знаков будут недоступны.

Как уже было сказано, выбранные при установке сервера параме?ры сопоставления оказывают влияние на многие аспекты функционирования SQL Server 2000. Например, порядок сортировки играет большую роль при сравнении пароля, введенного пользователем, с паролем, хранимым в системной базе данных. Если применяется порядок сортировки, чувствительный к регистру символов, то при вводе пароля пользователь должен в точности соблюдать регистр. Если же используется нечувствительная к регистру сортировка, то пользователь может не заботиться о регистре, в котором он набирает пароль.

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

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