Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Azure Collation - как сравнить 2 строки ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 2022
Надо сделать выборку
SELECT *
FROM Users
WHERE UserName=USER 

В результате получаю:
Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Cyrillic_General_CI_AS" in the equal to operation.
Это получается из за этого:
master      SQL_Latin1_General_CP1_CI_AS
MyDataBase  Cyrillic_General_CI_AS

Дописывать слово Collate в каждом сравнении - не вариант, т.к. надо будет в ручную пройтись по всем сторед процедурам и исправлять это везде.
Как сравнить 2 строки в этом Азуре ? Или изменить базу master на Cyrillic_General_CI_AS ?
22 дек 15, 16:29    [18595289]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
o-o
Guest
Valery_B
изменить базу master на Cyrillic_General_CI_AS ?

сменить коллэйшен мастеру это потерять все, что есть в мастере.
это ж ребилд.
22 дек 15, 16:36    [18595331]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Valery_B
Как сравнить 2 строки в этом Азуре ?

"вручную пройтись по всем сторед процедурам и исправлять это везде."
22 дек 15, 16:39    [18595343]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 2022
Glory,

Угу. Их почти 10,000. Делов то.
22 дек 15, 16:46    [18595367]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Valery_B
Угу. Их почти 10,000. Делов то.

Типа кто-то другой виноват, что вы такой код написали изначально.
Или когда задавали collation-ы базы/сервера

Сообщение было отредактировано: 22 дек 15, 16:47
22 дек 15, 16:47    [18595376]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 2022
Glory,

Это всё работает и на MS SQL 2016
Не работает на Азуре.
Ты сам то часто пишешь Collate ?
22 дек 15, 16:48    [18595383]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 2022
Есть способ поменять кодировку у базы Master ?
Меня устроит абсолютно любой варварский способ, даже если он повесит все серваки микрософта.
Смотреть на 10,000 ХП точно не вариант.
22 дек 15, 16:52    [18595399]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Valery_B
Это всё работает и на MS SQL 2016

Что "это все" ? Возможность сравнения разных collation-ов без указания Collate ?

Valery_B
Ты сам то часто пишешь Collate ?

Я пишу требования к базе/серверу. Или Collate.
И делаю это _заранее_.
22 дек 15, 16:53    [18595407]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
SQL Server Collation Support
The default database collation used by Microsoft Azure SQL Database is SQL_LATIN1_GENERAL_CP1_CI_AS, where LATIN1_GENERAL is English (United States), CP1 is code page 1252, CI is case-insensitive, and AS is accent-sensitive. It is possible to alter the collation for V12 databases using Transact-SQL. For more information about how to set the collation, see COLLATE (Transact-SQL).

https://azure.microsoft.com/en-us/documentation/articles/sql-database-general-limitations/
22 дек 15, 17:01    [18595451]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
o-o
Guest
Konst_One
It is possible to alter the collation for V12 databases using Transact-SQL. For more information about how to set the collation, see COLLATE (Transact-SQL).

ага. и ссылка на COLLATE.
где описано, как поменять collation у (пользовательской) базы, столбца или выражения.
и ни слова о системных базах.
вот бы все ребилдили чужой мастер.
a у своей базы товарищ менять не намерен, равно как и у всех выражений
22 дек 15, 17:21    [18595521]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 2022
Konst_One,

Это я уже читал - посмотри, какой колейшен у MyDataBase
22 дек 15, 17:21    [18595526]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
у азура сменить collate в мастере нельзя, только лишь заново установить сервер SQL с указанием нужного
22 дек 15, 17:22    [18595531]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
Creating a Custom SQL Server VM Image in Azure:
https://dzone.com/articles/creating-custom-sql-server-vm
https://msdn.microsoft.com/en-us/library/dd239405(v=sql.110).aspx
22 дек 15, 17:30    [18595590]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 2022
Konst_One
только лишь заново установить сервер SQL с указанием нужного

К сожалению, и это нельзя.
Приведённые тобой ссылки ведут на создание виртуальной машины на основе Windows Server и установки на него MS SQL, а не установки SQL Azure.
22 дек 15, 17:35    [18595626]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Valery_B,

collation системных баз выбирается при установке SQL сервера.
22 дек 15, 17:37    [18595646]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
именно для азур эта ссылка, вы плохо прочитали:

Why a Custom SQL Server Image?

The Azure VM image gallery already contains a SQL Server image. It’s very easy to create a new SQL Server VM using this image. However, doing so has a few important trade-offs to consider:

Unable to fully customize the base install of SQL Server.
This is a template/image after all – you get a VM configured the way the image was configured.
Unable to use your own SQL Server license.
If your company has an Enterprise Agreement (EA) with Microsoft, it’s likely there is already some SQL Server licenses built into that agreement. Depending on the details, it may be significantly cheaper to use the licenses from the EA instead of paying the SQL Server VM image upcharge from Azure.

вот чтобы всё сделать как вам нужно и требуется кастомная вм
22 дек 15, 17:40    [18595663]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
Valery_B
Дописывать слово Collate в каждом сравнении - не вариан

тогда переставлять инстанс
22 дек 15, 17:41    [18595667]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
в ConfigurationFile.ini укажите нужный collate для вашего сервера (см. 2-ю ссылку, что я давал)
22 дек 15, 17:42    [18595675]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 2022
Konst_One,
Ты работал с БД Azure ?
Кому и куда этот файл давать ?

Владислав Колосов
collation системных баз выбирается при установке SQL сервера.

Да.
Только речь идёт о Windows Azure SQL, и его устанавливает сам Microsoft по средствам вэб интерфейса.
22 дек 15, 17:59    [18595764]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
я стандартным вм пользовался, но он тебе не подходит, поэтому читай статью про то, как сделать свою собственную инсталляцию SQL для VM Azure. там всё по шагам расписано.
22 дек 15, 18:00    [18595768]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
o-o
Guest
Valery_B
речь идёт о Windows Azure SQL, и его устанавливает сам Microsoft по средствам вэб интерфейса.

ну хоть кто-то в наше время по средствам живет
----
т.е. вы признаете, что мастер чужой, и ребилдить его вы не сможете?
22 дек 15, 18:03    [18595777]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 2022
o-o,
Мастер чужой, и "ребилдить" его может только Микрософт.

Konst_One,

Мне не нужна виртуальная машина Azure, мне нужна БД Azure.
22 дек 15, 18:25    [18595847]     Ответить | Цитировать Сообщить модератору
 Re: Azure Collation - как сравнить 2 строки ?  [new]
o-o
Guest
Valery_B
o-o,
Мастер чужой, и "ребилдить" его может только Микрософт.

ну так именно.
и кто его для вас вдруг отребилдит?
не знаю, что там с установкой "под себя",
но офиц. справка их на то и намекает,
что на уровне выражений, столбцов или (своей) базы можете использовать COLLATE.
все.
22 дек 15, 18:30    [18595870]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить