Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Добрый день! Подскажите, пож-та, исходя из каких критериев выбирается серверный collation? Существуют ли какие-то best practice в настоящее время? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 09:11 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Michail A., Обычно collation SQL сервера выбираем под требования проекта, базы которого будут там размещены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 09:17 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Danion, а в чем могут выражаться данные требования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 09:25 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Michail A.Danion, а в чем могут выражаться данные требования? На каком основном языке ведете разработку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 09:28 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
aleks222, язык имеется ввиду какой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 09:36 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Michail A., Если не путаю, то Collation применяется для сортировки и сравнения данных в таблицах. Выбор основного языка и алфавита, можно выставить, чтобы A и a считало одним символом, а можно разными. Аналогично для символов типа a и á. Есть ещё для японских символов, но это обычно выключено. У Микрософта есть немного про это: https://docs.microsoft.com/ru-ru/sql/t-sql/statements/collations?view=aps-pdw-2016 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 11:09 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Michail A.aleks222, язык имеется ввиду какой? Язык, на котором по умолчанию хранятся данные в таблицах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 11:46 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, конкретно один язык? Если предполагаются данные латиницы и кириллицы - можно ли подобрать подходящий collation? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 12:39 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Michail A.Владислав Колосов, конкретно один язык? Если предполагаются данные латиницы и кириллицы - можно ли подобрать подходящий collation?База создаётся с нуля? На сервере уже есть другие базы? Если с нуля, то решите - при сравнении строк регистр букв должен учитываться или нет? А если какие-то базы на сервере уже есть, то выбор у вас небольшой - COLLATE вашей базы должен совпадать с COLLATE базы tempdb. Иначе никакой жизни у вас не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 13:00 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Michail A.Владислав Колосов, конкретно один язык? Если предполагаются данные латиницы и кириллицы - можно ли подобрать подходящий collation? Обычно используют cyrillic_general_ci_as в таких случаях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 13:24 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовЯзык, на котором по умолчанию хранятся данные в таблицах. Данные в таблицах не хранятся "на каком либо языке". Они там либо юникодные либо однобайтовые. Коллейшен задает правила, по которым происходит сравнение строковых данных. Он может быть задан для сервера, дла базы данных, для таблицы, для отдельного столбца, или вообще быть указан в отдельном запросе к таблице. Например, две строки A и B могут иметь одинаковое юникодное представление, но для разных языков по их правилам будет для одного A < B, а для другого A > B - вот как раз эти правила collation и задает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 13:44 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
fkthatВладислав КолосовЯзык, на котором по умолчанию хранятся данные в таблицах. Данные в таблицах не хранятся "на каком либо языке". Они там либо юникодные либо однобайтовые. Коллейшен задает правила, по которым происходит сравнение строковых данных. Он может быть задан для сервера, дла базы данных, для таблицы, для отдельного столбца, или вообще быть указан в отдельном запросе к таблице. Например, две строки A и B могут иметь одинаковое юникодное представление, но для разных языков по их правилам будет для одного A < B, а для другого A > B - вот как раз эти правила collation и задает.Но вы что же, при создании таблиц у всех полей COLLATE прописываете явно? И все ваши коллеги делают так же? Или в каждом запросе у каждого текстового поля явно пишете COLLATE? Ведь нет же? А при сравнениях с полями временных таблиц вы неизбежно столкнётесь с COLLATE базы tempdb, опять же, если не будете везде писать COLLATE явно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 13:53 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Сервер создается с нуля, на который будут мигрировать текущие базы. iapMichail A.Владислав Колосов, конкретно один язык? Если предполагаются данные латиницы и кириллицы - можно ли подобрать подходящий collation?База создаётся с нуля? На сервере уже есть другие базы? Если с нуля, то решите - при сравнении строк регистр букв должен учитываться или нет? А если какие-то базы на сервере уже есть, то выбор у вас небольшой - COLLATE вашей базы должен совпадать с COLLATE базы tempdb. Иначе никакой жизни у вас не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 14:01 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
fkthat, за что люблю эту конференцию, так это за количество снобов на квадратный метр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 14:17 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Michail A.Сервер создается с нуля, на который будут мигрировать текущие базы. iapпропущено... База создаётся с нуля? На сервере уже есть другие базы? Если с нуля, то решите - при сравнении строк регистр букв должен учитываться или нет? А если какие-то базы на сервере уже есть, то выбор у вас небольшой - COLLATE вашей базы должен совпадать с COLLATE базы tempdb. Иначе никакой жизни у вас не будет.То есть, базы с данными уже есть? Тогда у них уже установлен вполне определённый COLLATE. Вот таким он и должен остаться на новом сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 16:28 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Michail A.Сервер создается с нуля, на который будут мигрировать текущие базы.Ставьте тот же коллейшен, который был выбран на том сервере, с которого делается миграция. Если это установить невозможно, тогда, скорее всего, нужно выбрать тот коллейшен, который у переносимых баз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 16:56 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
alexeyvg, iap А если несколько экземпляров, каждый со своим collation, в итоге данные будут переезжать на один сервер. Как в данном случае поступить? Если на целевом сервере установить collation, который будет совпадать с одним из имеющихся экземпляров, а со вторым совпадать не будет соответственно - возникнут ли проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 19:48 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Michail A.alexeyvg, iap А если несколько экземпляров, каждый со своим collation, в итоге данные будут переезжать на один сервер. Как в данном случае поступить? Если на целевом сервере установить collation, который будет совпадать с одним из имеющихся экземпляров, а со вторым совпадать не будет соответственно - возникнут ли проблемы?Тогда нужно, что бы в приложении не было багов с коллейшенами. Правильно написанное приложение не зависит от коллейшена сервера. Но если приложение всё таки не работает на сервере с неподходящим ему колелйшеном, то тогда придётся его эксплуатировать на выделенном инстансе, либо править в нём ошибки (или, как вариант, менять коллейшен модели и всех данных). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 21:05 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Michail A.alexeyvg, iap А если несколько экземпляров, каждый со своим collation, в итоге данные будут переезжать на один сервер. Как в данном случае поступить? Если на целевом сервере установить collation, который будет совпадать с одним из имеющихся экземпляров, а со вторым совпадать не будет соответственно - возникнут ли проблемы?Возникнут. Да ещё какие! Если COLLATE строк прим сравнении несовместимы, всё обламывается с сообщением о несоответствии COLLATE. Кстати, явное указание COLLATE у полей в условии запроса делает невозможным использование индекса по этим полям. Так что тоже нехороший выход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 21:56 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
iapMichail A.alexeyvg, iap А если несколько экземпляров, каждый со своим collation, в итоге данные будут переезжать на один сервер. Как в данном случае поступить? Если на целевом сервере установить collation, который будет совпадать с одним из имеющихся экземпляров, а со вторым совпадать не будет соответственно - возникнут ли проблемы?Возникнут. Да ещё какие! Если COLLATE строк прим сравнении несовместимы, всё обламывается с сообщением о несоответствии COLLATE. Кстати, явное указание COLLATE у полей в условии запроса делает невозможным использование индекса по этим полям. Так что тоже нехороший выход.Впрочем, а вдруг они окажутся совместимыми? Тогда вы в шоколаде!. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 21:59 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Так и как можно выйти из данной ситуации? iapMichail A.alexeyvg, iap А если несколько экземпляров, каждый со своим collation, в итоге данные будут переезжать на один сервер. Как в данном случае поступить? Если на целевом сервере установить collation, который будет совпадать с одним из имеющихся экземпляров, а со вторым совпадать не будет соответственно - возникнут ли проблемы?Возникнут. Да ещё какие! Если COLLATE строк прим сравнении несовместимы, всё обламывается с сообщением о несоответствии COLLATE. Кстати, явное указание COLLATE у полей в условии запроса делает невозможным использование индекса по этим полям. Так что тоже нехороший выход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2019, 08:58 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
Michail A.Так и как можно выйти из данной ситуации?Несколько экземпляров SQL Server - по одному на каждый collation Либо все БД с collation, отличным от серверного сделать contained - тогда конфликта с временными таблицами не будет, если они создаются в контексте такой БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2019, 09:31 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
iapЕсли COLLATE строк прим сравнении несовместимы, всё обламывается с сообщением о несоответствии COLLATE. Кстати, явное указание COLLATE у полей в условии запроса делает невозможным использование индекса по этим полям. Так что тоже нехороший выход.Да, это 2 варианта неправильные, но есть же ещё и правильный вариант - при создании временных таблиц указывать коллейшен базы. Хотя у автора ИМХО немного другой вопрос - как сделать, что бы всё работало, не меняя базы, и не даже не зная, что там внутри. Michail A.Так и как можно выйти из данной ситуации?Без изменения приложений (то есть исправлении ошибок в хранимых процедурах, и, возмможно, в других месстах) - только делать отдельные инстансы для каждого коллейшена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2019, 16:43 |
|
||
|
серверный collation
|
|||
|---|---|---|---|
|
#18+
invmЛибо все БД с collation, отличным от серверного сделать contained - тогда конфликта с временными таблицами не будет, если они создаются в контексте такой БД.Что то слишком кардинальное решение :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2019, 16:46 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39820214&tid=1687734]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
85ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
90ms |
get tp. blocked users: |
2ms |
| others: | 264ms |
| total: | 497ms |

| 0 / 0 |
