В sql-сервере, что такое: Latin1_General_CI_AI против Latin1_General_CI_AS

Я использую SQL Compare для сравнения двух версий базы данных. он продолжает выделять различия в полях nvarchar, где он показывает один db, который имеет:

Latin1_General_CI_AS

а другой имеет следующее:

Latin1_General_CI_AI

может кто-нибудь объяснить, что это такое, и если я должен беспокоиться об этой разнице

Ответ 1

Акцент чувствительный и нечувствительный к акценту

Lòpez и Lopez совпадают, если Accent Insensitive.

Ответ 2

Что показывает сравнение, так это то, что два столбца имеют разницу collations. Сопоставление поля (текста) влияет на то, как оно хранится и сравнивается.

Конкретная разница в вашем случае заключается в том, что акценты на символы будут проигнорированы при выполнении сравнений и сортировки.

При установке SQL Server вы устанавливаете сопоставление по умолчанию для всего сервера. Вы также можете настроить сортировку для каждой базы данных и столбца, что означает, что вы можете смешивать их в базе данных (независимо от того, хотите ли вы от вашего конкретного случая). На странице MSDN, с которой я связан, есть дополнительная информация о сортировках, как выбрать лучший и как их установить.