powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
40 сообщений из 40, показаны все 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
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652374
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
googlogmobТаки да.. Столбцы в Latin..
И почему их коллейт отличается от коллейта базы ?
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652386
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
Glory,

значит, на исходном сервере они и были Latin1_General_CI_AS_KS_WS.
при переливке через линкованный сервер коллэйшены сохраняются.
но сам коллэйшен у него такой экзотический, что упорно напоминает ReportServer.
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652390
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o-oпри переливке через линкованный сервер коллэйшены сохраняются.
Это смотря какой командой "переливать"
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652392
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
Glory,

через SELECT INTO коллэйшен перекочевал как есть на сервер с иным коллэйшеном.
как еще попробовать?
или намекаете, что кто-то намеренно создал таблицы с таким экзотическим коллэйшеном и потом туда вставлял?
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652396
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o-oчерез SELECT INTO коллэйшен перекочевал как есть на сервер с иным коллэйшеном.
как еще попробовать
Хм.
INSERT INTO

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

да, nvarchar.
через alter table? если не сложно, напишите шаблон текста запроса

Код: sql
1.
2.
3.
4.
5.
6.
create table dbo.t (col1 NVARCHAR(100) collate Latin1_General_CI_AS_KS_WS,
                    col2 NVARCHAR(100) collate Latin1_General_CI_AS_KS_WS);
go
                    
alter table dbo.t alter column  col1 NVARCHAR(100) collate Cyrillic_General_CI_AS;
alter table dbo.t alter column  col2 NVARCHAR(100) collate Cyrillic_General_CI_AS;



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

ну если бы он спецом создал таблицы с таким вот Latin-ом,
он бы потом не стал поди спрашивать, откуда вообще Latin взялся :)

ТС, признавайтесь, как переливали.
ибо: если вам легче заново перелить,
то, возможно, поменяете шило на мыло, у вас же и так база кириллическая.
если делали SELECT INTO и исходные столбцы LATIN,
то ничего не порешаете таким переливанием
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652436
googlogmob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
o-oGlory,

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

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


этим переливал
Код: sql
1.
select * into [SAO_1Cdata].[dbo].[76] from  [192.168.197.134].[REPORT].[dbo].[76temp]



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

ТС и не такое может

ну если бы он спецом создал таблицы с таким вот Latin-ом,
он бы потом не стал поди спрашивать, откуда вообще Latin взялся :)



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


ну если бы он спецом создал таблицы с таким вот Latin-ом,
он бы потом не стал поди спрашивать, откуда вообще Latin взялся :)



да, было бы глупо) новая БД создавалась с Cyrillic_General_CI_AS

про бд мы поняли.
нам было интересно узнать, откуда насильно прописался латинский коллэйшен в столбцы .
и варианты были: вы же и прописали, в CREATE TABLE для каждой таблицы.
ну или SELECT INTO + латинский коллэйшен у исходных столбцов
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38652616
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o-oи варианты были: вы же и прописали, в CREATE TABLE для каждой таблицы.
ну или SELECT INTO + латинский коллэйшен у исходных столбцов
Или тупо выполнили сгенерированный кем-то скрипт
...
Рейтинг: 0 / 0
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #38653224
googlogmob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
o-o , Спасибо за помощь. создал новые таблицы с полями collate Cyrillic_General_CI_AS и импортировал мастером експорти/импорта.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
    #39923020
Longer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
40 сообщений из 40, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS"...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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