SQL Server рассматривает неуникальные поля с символами Юникода как дубликаты, в то время как они не дублируются
SQL Server обрабатывает следующие символы как одинаковые, хотя они являются разными символами Unicode. Когда я помещаю уникальный некластеризованный индекс в столбец, содержащий эти символы, SQL Server не позволяет мне (выдает ошибки, говорящие о наличии дублирующих ключей, хотя они не являются дублирующимися). Я уже использую nvarchar для поддержки символов Unicode.
Сортировка по умолчанию SQL_Latin1_General_CP1_CI_AS
(Мне нужно поддерживать персидские / арабские символы вместе со всеми латинскими / индийскими / китайскими / японскими символами (Unicode))
// Some characters are unseen so please copy and paste the whole
// code area in a Unicode supported text editor.
ٔ
ؐ
ۡ
ۚ
ٝ
ﷲ
۠
ݐ
ݘ
ۖ
ۻ
ݝ
ݡ
ۗ
ﮎ
ػ
ﮒ
ﮪ
ݻ
Ниже приведен оператор SQL Server CREATE без уникальной индексации (пришлось отключить уникальную индексацию на TheWord
поле, поскольку, как упоминалось выше, SQL Server обрабатывает все вышеуказанные символы как один и тот же символ (или, может быть, я что-то здесь упускаю?)).
CREATE TABLE [peplamb].[Words](
[WordId] [bigint] IDENTITY(1,1) NOT NULL,
[TheWord] [nvarchar](128) NOT NULL,
[SourceId] [int] NOT NULL,
[DateModified] [datetime] NOT NULL,
[DateCreated] [datetime] NOT NULL,
CONSTRAINT [PK_Words] PRIMARY KEY CLUSTERED
(
[WordId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Я что-то здесь упускаю?
Любая помощь с благодарностью.