powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
25 сообщений из 40, страница 1 из 2
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38649453
googlogmob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не нашел в инете решения по этой проблеме
Установлен новый экземпляр сервера. Через линкованый сервер перелиты некоторые таблицы
Запрос, который без проблем выполнялся на "старом" сервере, на "новом" завершается с ошибкой

Запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DECLARE @banc TABLE (mask1 NVARCHAR(100), mask2 NVARCHAR(100),name NVARCHAR(100));
INSERT @banc (mask1,mask2, name) VALUES   

  (N'%рога%', N'%копыта%', N'Рога и копыта') ;

   SELECT month (t.[DatePosting]) as 'Месяц', t.LB1 as 'ЛБ1', t.vid as 'Вид', b.name as 'Банк', sum (t.[76]) as 'Платежи'
           FROM [SAO_1Cdata].[dbo].[76]  t
           right JOIN @banc b ON t.externalchannel LIKE b.mask1  OR t.Beneficiary LIKE b.mask1 OR
		                   t.externalchannel  LIKE  b.mask2 OR t.Beneficiary   LIKE  b.mask2 
  GROUP BY month (t.[DatePosting]), t.LB1,t.vid, b.name



ошибка:
Сообщение 468, уровень 16, состояние 9, строка 30
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS" и "Latin1_General_CI_AS_KS_WS" в операции like.

На "старом" и "новом" серверах установлен "Cyrillic_General_CI_AS"
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38649477
Фотография daw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
googlogmob,

collation, начиная еще с 2000-ого сервера можно устанавливать каждому конкретному столбцу.
проверить можно через sys.columns.
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38650042
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНа "старом" и "новом" серверах установлен "Cyrillic_General_CI_AS"

авторЧерез линкованый сервер перелиты некоторые таблицы
Чудес не бывает, порядок сортировки сам по себе не изменяется. Значит таблицы были созданы неверно или первая цитата не соответствует истине.
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38650122
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
googlogmobЧерез линкованый сервер перелиты некоторые таблицы
И с каким collate "перелиты" ?
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38650258
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
как вариант, ТС выполняет свой код в базе с коллэйшеном, отличным от коллэйшена той самой базы SAO_1Cdata.
вот пример:
инстанс имеет коллэйшен Cyrillic_General_CI_AS
в нем 2 базы:

test -- унаследовала коллэйшен сервера, в ней же находится таблица dbo.client_cyr со столбцами с коллэйшеном по умолчанию, т.е. сплошной Cyrillic_General_CI_AS

test_Latin1_General_CI_AS_KS_WS -- создана спецом с коллэйшеном Latin1_General_CI_AS_KS_WS .

выполняю один и тот же код в обеих базах, в первой все ок, во второй та самая ошибка:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select serverproperty('collation') as server_coll, 
       databasepropertyex('test', 'collation') as test_db_coll,
       databasepropertyex('test_Latin1_General_CI_AS_KS_WS', 
       'collation') as test_Latin1_General_CI_AS_KS_WS_db_coll;
go
	
DECLARE @banc TABLE (mask1 NVARCHAR(100), mask2 NVARCHAR(100),
        name NVARCHAR(100));
INSERT @banc (mask1,mask2, name) VALUES   
(N'%рога%', N'%копыта%', N'Рога и копыта') ;
    
select *
from @banc b join test.dbo.client_cyr c on c.FirstName like b.mask1



короче: табличная переменная наследует коллэйшен базы
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38650363
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверьте с каким Collation создана tempdb. На временных таблицах #T это имело значение, на @T не уверен, предлагаю вам проверить. В общем, я сталкивался с такой проблемой и она была вызвана нестыковкой Collation текущей базы и базы временных таблиц. Изменить Collation можно только перестановкой сервера (типа Upgrade) с сохранением текущих баз.
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38650369
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
a_voronin,

типа нечитатель?
в моем примере коллейшен сервера (т.е. его системных баз) тот самый Cyrillic_General_CI_AS,
а ошибку я получаю.
ибо поля табличной переменной унаследовали коллэйшен базы,
где код выполняется. а не коллэйшен Tempdb
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38650376
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o-o,

COLLATE сервера используется как значение по умолчанию при создании новой базы.
ЕМНИП, больше нигде

Табличные переменные хранятся аналогично временным таблицам в tempdb
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38650384
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapo-o,

COLLATE сервера используется как значение по умолчанию при создании новой базы.
ЕМНИП, больше нигде

Табличные переменные хранятся аналогично временным таблицам в tempdbМожет, и приврал про "значение по умолчанию новых баз", ибо они получаются из базы model.
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38650390
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
iap,

вы пробовали мой случай воспроизвести?

я где-то спорю, что табличные переменные хранятся в Tempdb?

вы можете рассказать, как сменить коллэйшен системныx баз,
кроме тех "способов", к-ыми меняется коллэйшен сервера?
(т.е. переустановка либо

Rebuild the master database specifying the new collation in the SQLCOLLATION property of the setup command. For example:

Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName
/SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ]
/SQLCOLLATION=CollationName

что примерно то же самое по последствиям)???

The server collation acts as the default collation for all system databases that are installed with the instance of SQL Server, and also any newly created user databases.
Set or Change the Server Collation
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38650404
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
iapiapo-o,

COLLATE сервера используется как значение по умолчанию при создании новой базы.
ЕМНИП, больше нигде

Табличные переменные хранятся аналогично временным таблицам в tempdbМожет, и приврал про "значение по умолчанию новых баз", ибо они получаются из базы model.

а вы пробовали сменить коллэйшен базы model?
да и любой другой системной базы?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
use master
go

alter database model collate Cyrillic_General_CI_AS
go
----------------------
Msg 3708, Level 16, State 5, Line 2
Cannot alter the database 'model' because it is a system database.
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38650425
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
дошло, как убедить.
подтверждающая картинка:
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652214
googlogmob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А каким образом можно решить проблему?
в SAO_1Cdata tempbd используется Cyrillic_General_CI_AS
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652215
googlogmob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652219
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
googlogmobА каким образом можно решить проблему?
Создавать объекты с одинаковыми коллейтами.
Или указывать коллейт в операциях сравнения.
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652231
googlogmob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GlorygooglogmobА каким образом можно решить проблему?
Создавать объекты с одинаковыми коллейтами.
Или указывать коллейт в операциях сравнения.

сейчас приходится указывать коллейт в запросах
Но в какой BD указан Latin? В tembbd Cyrillic_General_CI_AS ( в SAO_1Cdata также Cyrillic_General_CI_AS)
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652235
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
googlogmobНо в какой BD указан Latin?
Сраниваются не базы данных, а конкретные поля конкретных таблиц.
Найдите, сравнение каких полей вызывает ошибку.
Выясните, почему эти поля имеют разные коллейты.
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652285
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
googlogmobА каким образом можно решить проблему?
в SAO_1Cdata tempbd используется Cyrillic_General_CI_AS

вот что вы пристали к tempdb.
выполните ровно там, где выдается ошибка :
Код: sql
1.
select db_name(), databasepropertyex(DB_NAME(), 'collation')
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652291
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
либо:
выполните вот такое
Код: sql
1.
2.
3.
select name, collation_name 
from sys.databases
where collation_name = 'Latin1_General_CI_AS_KS_WS'



а я отгадаю, в какой же базе вы выполняете свой запрос.
у меня на сей супер коллэйшен выдались базы репортинга , у вас, поди, тоже самое
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652296
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
googlogmobА каким образом можно решить проблему?


Код: sql
1.
2.
3.
DECLARE @banc TABLE (mask1 NVARCHAR(100) collate Cyrillic_General_CI_AS, 
                     mask2 NVARCHAR(100) collate Cyrillic_General_CI_AS,
                     name  NVARCHAR(100) collate Cyrillic_General_CI_AS);
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652352
googlogmob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
o-oлибо:
выполните вот такое
Код: sql
1.
2.
3.
select name, collation_name 
from sys.databases
where collation_name = 'Latin1_General_CI_AS_KS_WS'



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

не возвращает ни одной записи..

сейчас и приходится через: :(
Код: sql
1.
2.
3.
DECLARE @banc TABLE (mask1 NVARCHAR(100) collate Cyrillic_General_CI_AS, 
                     mask2 NVARCHAR(100) collate Cyrillic_General_CI_AS,
                     name  NVARCHAR(100) collate Cyrillic_General_CI_AS);
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652358
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
googlogmobсейчас и приходится через: :(
BOL

collation_definition
Is the collation of the column that is made up of a Microsoft Windows locale and a comparison style, a Windows locale and the binary notation, or a Microsoft SQL Server collation. If collation_definition is not specified, the column inherits the collation of the current database .

Если вы уверяте, что у вас все базы с Cyrillic_General_CI_AS, то тогда "проблема" с " Через линкованый сервер перелиты некоторые таблицы"
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652366
googlogmob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GlorygooglogmobНо в какой BD указан Latin?
Сраниваются не базы данных, а конкретные поля конкретных таблиц.
Найдите, сравнение каких полей вызывает ошибку.
Выясните, почему эти поля имеют разные коллейты.

Таки да.. Столбцы в Latin..

Наверное проще создать новую БД и перелить в нее значения с нужным коллейт
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652368
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
если все затрагиваемые поля n varchar,
то можно просто поменять коллэйшен
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652372
googlogmob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
o-oесли все затрагиваемые поля n varchar,
то можно просто поменять коллэйшен

да, nvarchar.
через alter table? если не сложно, напишите шаблон текста запроса
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]