Недавно у меня возникли проблемы со сравнением строк, включая смайлики с моей базой данных SQL Server, и поэтому я изменил параметры сортировки всей базы данных с SQL_Latin1_CP1_CI_AS на Latin1_General_100_CI_AS.
Я понимаю, что все существующие таблицы / столбцы по-прежнему остаются старыми, поэтомуЯ должен изменить их вручную. При изменении одной из таблиц со сложным первичным ключом: [KeyA (int), KeyB (nvarchar(100))]
я сталкиваюсь с этой ошибкой:
Оператор CREATE UNIQUE INDEX завершен, поскольку для имени объекта 'dbo.MyTable был найден повторяющийся ключ'и индексное имя' PK_MyTable '. Значение дубликата ключа (7792, # صلحگرا).
Я попытался создать группу SELECT
с count(*)
по двум ключам, но, похоже, не нашел никаких допустимых дубликатов. Что я должен сделать, чтобы решить вышеуказанное?
Отредактировано:
Следующий запрос не дает результата, так как я уже установил пару PK перед изменением параметров сортировки:
SELECT KEYA, KEYB, COUNT(*)
FROM MYTABLE
GROUP BY KEYA, KEYB
HAVING COUNT(*) > 1
Отредактировано (2):
Спасибо за вклад каждого. Теперь я вижу дубликаты, запрашивая новое сопоставление. Вот пример результатов. Кажется, Latin1_General_100_CI_AS
не очень хорошо обрабатывает персидские символы (или, возможно, RTL). Но проблема в том, что это поле может содержать много разных типов языков, например, английский, французский, немецкий, китайский, японский и т. Д. Могут существовать все виды акцентов, а также языки JFK и RTL. Есть ли какое-то сопоставление, которое я должен использовать, чтобы справиться с этим?