2008-09-26 15 views

Odpowiedz

7

Jak o:

ALTER DATABASE database_name COLLATE collation_name 

See BOL na list of collation options i wybrać jeden przypadek wrażliwego, który najlepiej pasuje do Twoich potrzeb (to znaczy jeden klient korzysta).
Oczywiście, dobrym pomysłem jest wykonanie pełnej kopii zapasowej bazy danych przed wypróbowaniem tego. Nigdy osobiście nie próbowałem używać bazy danych z innym sortowaniem niż domyślne sortowanie na serwerze, więc nie znam żadnych "gotch". Ale jeśli masz dobre kopie zapasowe i przetestujesz je w swoim środowisku przed wdrożeniem go do swojego klienta, nie mogę sobie wyobrazić, że wiąże się to z dużym ryzykiem.

0

Będziesz musiał zmienić sortowanie bazy danych. Będziesz także musiał zmienić sortowanie na poziomie tabeli i kolumny. Uważam, że możesz znaleźć skrypt tam, jeśli google go.

14

W rzeczywistości nie trzeba zmieniać sortowania w całej bazie danych, jeśli zadeklarowano je w tabeli lub kolumnach, w których należy uwzględnić wielkość liter. W rzeczywistości można go w razie potrzeby dołączyć do poszczególnych operacji.

 
SELECT name WHERE 'greg' = name COLLATE Latin1_GENERAL_CS_AS 

Wiem, powiedziałeś, że chcesz to zastosować w całej bazie danych. Wspomnę o tym, ponieważ w niektórych środowiskach hostowanych nie można kontrolować tej właściwości, która jest ustawiana podczas tworzenia bazy danych.

+2

ale nie rób tego, używając LOWER() do kolumny, w przeciwnym razie nie będzie można użyć indeksu ... –

+0

Ah, dzięki za napiwek. Zaadaptowałem tę linię ze skryptu, którego używam ... ale naprawię próbkę. – harpo

1

Jeśli masz bazę danych, która różni się od domyślnej instancji, możesz napotkać problemy podczas próby dołączania do tabel z tymczasowymi. Tabele tymczasowe muszą porównywać instancję (ponieważ są obiektami systemowymi), więc musisz użyć klauzuli COLLATE database_default w swoich połączeniach.

select temp.A, table.B 
from #TEMPORARY_TABLE temp inner join table 
on temp.X COLLATE database_default = table.Y 

Wymusza sortowanie temp.X (w tym przykładzie) na sortowanie bieżącego DB.

Powiązane problemy