Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Frequency Member Откуда: Сообщений: 34 |
Помогите подобрать нужный Server Collation. Некоторые буквы сервер воспринимает как ? . Как подобрать нужный Collation Type К сообщению приложен файл. Размер - 9Kb |
30 ноя 18, 09:24 [21749411] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1276 |
некоторые буквы это типа кириллические? если да, то какой-нибудь Cyrillic_General_CI_AS P.S. после смены серверного коллэйшена в имеющейся уже базе у вас останется прежний коллэйшен базы |
||
30 ноя 18, 10:08 [21749493] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 46570 |
Frequency, не забудьте потом установить COLLATE у баз model и tempdb. Или только в model и перегрузите сервер. Иначе будете получать конфликты при использовании текстовых полей временных таблиц. |
30 ноя 18, 10:28 [21749524] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1276 |
думаете, серверный коллэйшен не отразится на базах tempdb/model? |
||
30 ноя 18, 10:33 [21749532] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1276 |
даже лучше так: вы сами-то пробовали сменить коллэйшен системных баз без ребилда? вы попробуйте, получите интересное сообщение |
||
30 ноя 18, 10:40 [21749549] Ответить | Цитировать Сообщить модератору |
Frequency Member Откуда: Сообщений: 34 |
[quot Yasha123]
Так можно поменять. ALTER DATABASE UB_COMMON SET SINGLE_USER WITH ROLLBACK IMMEDIATE; ALTER DATABASE UB_COMMON SET MULTI_USER WITH ROLLBACK IMMEDIATE; Нет не кирилица латынь. ə , ğ , ö , i , ü |
||
30 ноя 18, 10:48 [21749574] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 46570 |
НАДО, и всё. Без ребилда нельзя? Значит, с ребилдом. COLLATE tempdb должен быть совместимым с COLLATE рабочей базы. А tempdb удаляется при каждом shutdown сервера и создаётся при старте. Любая создаваемая база строится на основе базы model. P.S. У нас администратор сменил COLLATE в model и tempdb буквально на днях. Однако, я-то не администратор. Так что подробности у меня не спрашивайте. |
||||
30 ноя 18, 10:49 [21749576] Ответить | Цитировать Сообщить модератору |
Frequency Member Откуда: Сообщений: 34 |
ə , ğ , ö , i , ü |
30 ноя 18, 10:49 [21749578] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1276 |
вам не видно выделенное жирным? или UB_COMMON системная база? вы совет iap-а читали? ну попробуйте выполнить предложенное им alter database model collate Cyrillic_General_CI_AS или alter database tempdb collate Cyrillic_General_CI_AS |
||
30 ноя 18, 10:54 [21749593] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1276 |
да такая и разница. он спросил о смене СЕРВЕРНОГО коллэйшена. если вы не в курсе, то серверный коллэйшен меняется ребилдом СИСТЕМНЫХ БАЗ. если вы и о системных базах не слышали, как Frequency, то базы темпдб и модел как раз системные. и вот вы ТС-у и отвечаете: сменив коллэйшен серверу (т.е. базам мастер, мсдб, ТЕМПДБ И МОДЕЛ) не забудьте сменить коллэйшен базам ТЕМПДБ И МОДЕЛ. а теперь объясните мне, как же можно было "забыть", если только что это было сделано? |
||
30 ноя 18, 10:59 [21749606] Ответить | Цитировать Сообщить модератору |
Frequency Member Откуда: Сообщений: 34 |
Могу конечно так , но всю базу в процедурах и view менять долго. А можно создать таблицу где столбец с типом nvarchar() и префиксом N'' ? К сообщению приложен файл. Размер - 4Kb |
30 ноя 18, 11:00 [21749612] Ответить | Цитировать Сообщить модератору |
WarAnt Member Откуда: Питер Сообщений: 2382 |
Frequency, nvarchar это и есть N, N добавляется в запросах чтобы сервер понял что ваша строка юникодная SELECT 'ת' - не уникодная, строка будет воприниматься в коллейшене сервера SELECT N'ת' - юникодная |
30 ноя 18, 12:29 [21749793] Ответить | Цитировать Сообщить модератору |
256k Member Откуда: с.Торчилово, Псковская обл. Сообщений: 437 |
угу, это и есть ответ на вопрос ТС, без ребилдов и пр. хрени - юникод дата типы надо использовать, а не тасовать collation |
||
30 ноя 18, 12:56 [21749835] Ответить | Цитировать Сообщить модератору |
Massa52 Member Откуда: Сообщений: 323 |
256k, Не все так просто. Если создавать временные таблицы в tempdb, то сравниваться nvarchar поля в основной базе и временной не будут. Надо будет каждый раз приводить их к одному коллейшену. |
30 ноя 18, 13:06 [21749854] Ответить | Цитировать Сообщить модератору |
Frequency Member Откуда: Сообщений: 34 |
Я понял спасибо |
30 ноя 18, 13:08 [21749861] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 27665 |
Нормальная практика - создавать nvarchar поля во временной базе с правильным коллейшеном, таким же, как соотв поля в основной. И непонятно, зачем делать по другому, в чём профит, что бы потом заморачиваться с серверным коллейшеном, или что бы для гениального творения разработчиков непременно требовался отдельный сервер со своими, индивидуальными, установками? |
||
30 ноя 18, 14:04 [21749968] Ответить | Цитировать Сообщить модератору |
wadegwadeg Member Откуда: Сообщений: 36 |
Вообще говоря, если приводить к целевому коллейшену - индекс хвататься будет, но творить подобное без крайней необходимости типа непреодолимого наследия на том же сервере... в-общем, расстрел на месте, это вот да.[/quot] |
||||
30 ноя 18, 16:27 [21750333] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 27665 |
|
||||
30 ноя 18, 23:24 [21750835] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |