Udostępnij za pośrednictwem


Sortowanie i terminologii międzynarodowej

Sortowanie w SQL Server reguły sortowania, przypadek i właściwości czułość akcentu dla danych.Metody sortowania są używane z znakowych typów danych, takich jak char i varchar dyktować strona kodowa oraz odpowiadające im znaki, które może być reprezentowany dla typu danych.Czy instalowania nowego wystąpienie SQL Server, przywracanie kopia zapasowa bazy danych lub Podłączanie serwera do klient baz danych, ważne jest zrozumieć wymagania ustawienia regionalne, kolejność sortowania, a przypadek i poufność danych będzie pracował z motywem.

Po wybraniu sortowanie dla serwera, bazy danych, kolumna lub wyrażenie są przypisywane niektórych cech do danych, która ma wpływ na wyniki wielu operacji w bazie danych.Na przykład, kiedy można skonstruować kwerendę zamówienia przy użyciu kolejność sortowanie wyników zestawu mogą być zależny od sortowanie, stosowane do bazy danych lub dyktowana w klauzula COLLATE poziom wyrażenie kwerendy.

Sortowanie może zawierać niektóre lub wszystkie z następujących właściwości:

  • Uwzględnianie wielkości liter

  • Uwzględnianie akcentu

  • Czułość kana

  • Uwzględnianie szerokości

Aby najlepiej korzystać z obsługi sortowanie w SQL Server, należy zrozumieć warunki, które są zdefiniowane w tym temacie i w jaki sposób odnoszą się do cech danych.

Terminy

  • Sortowanie

  • Ustawienia regionalne

  • Unicode

  • Strona kodowa

  • Typy danych

  • Porządek sortowania

Sortowanie

sortowanie określa wzory bitowe reprezentujące każdy znak w zestaw danych.Sortowanie także określić reguły sortowania i porównywania danych.SQL Serverobsługuje przechowywanie obiektów za pomocą różnych ustawień sortowania w jednej bazie danych.Dla kolumny nie obsługujących kodu Unicode ustawienie sortowanie określa strona kodowa dla danych i które znaki można przedstawić.Dane, które są przenoszone między kolumnami nie obsługujących kodu Unicode musi zostać przekonwertowana z źródło strona kodową do docelowej strona kodowa.

Transact-SQLzestawienie wyniki może różnić się instrukcja jest uruchamiany w kontekście różnych baz danych, które mają z różnymi ustawieniami sortowanie.Jeśli jest to możliwe, za pomocą znormalizowanych sortowanie dla danej organizacji.Dzięki temu nie trzeba jawnie określić sortowanie w każdym znaku lub wyrażenie Unicode.Jeśli musisz pracować z obiektów, które mają różny i strona kodowa ustawienia, kod kwerendy, aby wziąć pod uwagę zasady pierwszeństwa sortowanie.Aby uzyskać więcej informacji, zobacz Priorytecie sortowania języka Transact-SQL ().

Właściwości sortowanie są czułość języka przypadek czułości, czułość akcentu, Kana wrażliwe i czułość szerokość.

SQL ServerSortowanie obejmują następujące zestawy sortowania:

  • Metody sortowania systemu Windows
    Zasady przechowywania danych znakowych, oparty na skojarzone ustawienia regionalne systemu Windows określić metody sortowania systemu Windows.sortowanie systemu Windows dla porównania danych standardu Unicode jest implementowane za pomocą tego samego algorytmu jako dane Unicode.Podstawowy systemu Windows sortowanie reguły określają, które alfabetu lub język jest używany podczas sortowanie słownika jest stosowany i strona kodowa, która jest używana do przechowywania danych znakowych nie obsługujących kodu Unicode.Unicode i sortowania Unicode nie są zgodne z ciąg porównań w określonej wersja systemu Windows.Zapewnia to spójność różnych typów danych w SQL Server, a także pozwala deweloperom sortowania ciągi w swoich aplikacjach przy użyciu tych samych zasad, które są używane przez SQL Server.Aby uzyskać więcej informacji, zobacz Ustawienia sortowania w konfiguracji.

  • Sortowanie binarne
    Sortowanie binarne sortować dane na podstawie sekwencji zakodowanej wartości, które są zdefiniowane przez typ danych i ustawienia regionalne.Są one przypadek wielkość liter.Sortowanie binarne w SQL Server definiuje ustawienia regionalne i strona kodowa ANSI do użycia.Wymusza kolejność sortowania binarny.Ponieważ są stosunkowo proste, sortowanie binarne pomóc zwiększyć wydajność aplikacji.Dla typów danych innych niż Unicode porównania danych oparte są na punktów kodowych, które są zdefiniowane w strona kodowa ANSI.W przypadku typów danych Unicode porównania danych oparte są na punkty kodowe Unicode.Dla binarnych sortowań na typy danych standardu Unicode ustawienia regionalne nie uznaje się sortuje dane.Na przykład Latin_1_General_BIN i Japanese_BIN plon identyczne wyniki sortowania, gdy są używane w danych Unicode.

    Sortowanie binarne w poprzednich wersjach SQL Server Porównanie pierwszego znaku jako WCHAR, po której następuje porównanie bajt po bajcie.Do tyłu wersjami istniejących semantyka Sortowanie binarne nie zostanie zmieniony.

    Sortowanie binarne w tej wersji SQL Server zawierają zestaw czystego punkt kodowy Porównanie sortowania.Można migrować do sortowania binarnego z zalet porównaniach prawda punkt kodu.Sortowanie binarne należy używać do tworzenia nowej aplikacji.Sufiks pojemnik 2 identyfikuje sortowanie nazw, które implementuje nową semantyka sortowania punkt kodu.Istnieje także flagi porównania odpowiada pojemnik 2 nowe sortowanie binarne.Aby uzyskać więcej informacji, zobacz Wskazówki dotyczące używania pojemników i sortowania pojemnik 2.

  • SQL Server
    SQL Serverzapewnia metody sortowania (SQL_ *) kolejność sortowania zgodność ze starszymi wersjami programu SQL Server.Słownik zasady sortowania danych standardu Unicode nie są zgodne z sortowania rutynowych, dostarczonego przez systemy operacyjne Windows.Sortowanie danych Unicode jest jednak zgodne z określonym wersja systemu Windows sortowania reguł.Ponieważ SQL Server sortowania za pomocą reguł porównanie różnych danych Unicode i nie obsługujących kodu Unicode, widoczne będą inne wyniki porównania tych samych danych, w zależnooci od odpowiedniego typu danych.Aby uzyskać więcej informacji, zobacz Przy użyciu ustawień sortowania programu SQL Server.

    Ostrzeżenie

    Po uaktualnieniu wystąpienie język angielski SQL Server, SQL Server sortowania (SQL_ *) można określić dla zachowania zgodności z istniejącego wystąpienia SQL Server.Ponieważ domyślnym sortowaniem dla wystąpienie SQL Server jest zdefiniowany podczas instalacji, ważne jest, aby dokładnie określić ustawienia sortowanie, gdy spełnione są następujące:

    • Kod aplikacji zależy od zachowania poprzedniego SQL Server sortowania.

    • Zamierzasz używać SQL Server replikacja z istniejących instalacji SQL Server 6.5 lub SQL Server 7.0.

    • Muszą być przechowywane dane znakowe, które odzwierciedla wielu języków.

Ustawienie sortowania są obsługiwane na następujących poziomach wystąpienie SQL Server:

  • Poziom serwera sortowania
    Sortowanie domyślne jest ustawione podczas SQL Server Instalatora, a także staje się domyślnym sortowaniem z bazy danych systemu.Należy zauważyć, że nie można wybrać ustawienia sortowania Unicode — tylko podczas SQL Server Instalatora, ponieważ nie są obsługiwane jako serwer poziom sortowania.

    Po przypisaniu sortowanie dla wszystkich obiektów innych niż kolumna lub bazy danych, nie można zmienić sortowanie z wyjątkiem przez usunięcie i ponowne tworzenie obiektu.Zamiast zmieniać sortowanie domyślne wystąpienie SQL Server, można określić sortowanie w czas Utwórz nową bazę danych lub kolumna bazy danych.

    Aby wykonać kwerendę sortowanie serwera dla wystąpienie SQL Server, należy użyć następujących Transact-SQL funkcja SERVERPROPERTY:

    SELECT CONVERT (varchar, SERVERPROPERTY('collation'))
    

    Do serwera zapytania o wszystkie dostępne metody sortowania, należy użyć następujących fn_helpcollations() wbudowanych funkcja:

    SELECT * from ::fn_helpcollations()
    
  • Sortowanie poziom bazy danych
    Podczas tworzenia bazy danych można użyć klauzula COLLATE instrukcja CREATE DATABASE, aby określić domyślna baza danych sortowanie.Jeśli nie sortowanie bazy danych jest przypisany domyślny porządek sortowanie bazy danych model.Porządek sortowanie bazy danych model jest taka sama, jak sortowanie domyślne wystąpienie SQL Server.

    Sortowanie baza danych użytkownika można zmienić przy użyciu instrukcja ALTER DATABASE podobny do następującego:

    ALTER DATABASE myDB COLLATE Greek_CS_AI
    

    Bieżące sortowanie bazy danych mogą być pobierane przy użyciu instrukcja podobny do następującego:

    SELECT CONVERT (varchar, DATABASEPROPERTYEX('database_name','collation'))
    

    Ostrzeżenie

    Zmiany sortowanie poziom bazy danych nie wpływa na ustawienia sortowanie kolumna poziomie wyrażenie lub.

  • Poziom kolumny sortowania
    Podczas tworzenia tabela można określić ustawienia sortowania dla każdej kolumna ciąg znaków za pomocą klauzula COLLATE instrukcja CREATE tabela.Jeśli nie sortowania kolumna jest przypisywany sortowanie domyślne bazy danych.

    Porządek sortowania kolumna można zmienić przy użyciu instrukcja ALTER TABLE podobny do następującego:

    ALTER TABLE myTable ALTER COLUMN mycol NVARCHAR(10) COLLATE Greek_CS_AI
    
  • Wyrażenie poziom sortowania
    Wyrażenie poziom sortowania są ustawiane podczas instrukcja jest uruchomienie i one wpłynąć na sposób zwracany jest zestaw wyników.Dzięki temu ORDER BY wyniki sortowania jest ustawienia regionalne-określonych.Wdrożenie poziom wyrażenie sortowania za pomocą klauzula COLLATE, takie jak następujące:

    SELECT name FROM customer ORDER BY name COLLATE Latin1_General_CS_AI
    

Powrót do początku

Ustawienia regionalne

Ustawienia regionalne są zestaw informacji, które jest skojarzone z miejsca lub kultury.Może on obejmować nazwę i identyfikator język mówiony skrypt, który jest używany do zapisu języka i konwencje kulturalne.Metody sortowania można skojarzyć z jednego lub więcej ustawień regionalnych.

Powrót do początku

Unicode

Jeśli przechowywane dane znakowe, które odzwierciedla wielu języków, należy zawsze używać typy danych standardu Unicode (nchar, nvarchar, i ntext) zamiast typy danych standardu Unicode (char, varchar, i text).

Zasadnicze ograniczenia są skojarzone typy danych standardu Unicode.Jest tak, ponieważ komputer nie obsługujących kodu Unicode będzie ograniczone do korzystania z jednej strona kodowa.Wydajność może wystąpić z użyciem standardu Unicode, ponieważ wymagane są mniej konwersji strona kodowej.Sortowanie w formacie Unicode musi indywidualnie zaznaczone poziom bazy danych, kolumna lub wyrażenie nie są obsługiwane poziom serwera.

Strony kodowe, używanych przez klient są określane przez ustawienia systemu operacyjnego.Do zestaw kod klient stron na Windows 2000, Windows XP, Windows Server 2003, lub Windows Server 2008 systemów operacyjnych, użyj regionalnych zestawtings w Panelu sterowania.

Podczas przenoszenia danych z serwera do klient sortowanie serwera nie może być rozpoznawany przez starszych sterowników klient.Może się to zdarzyć, podczas przenoszenia danych z serwera Unicode do klient nie obsługujących kodu Unicode.Najlepsza opcja może być uaktualnienie systemu operacyjnego klient, aby podstawowe metody sortowania systemu są aktualizowane.Jeśli komputer kliencki ma zainstalowane oprogramowanie klient bazy danych, warto rozważyć zastosowanie aktualizacji usługa do bazy danych oprogramowania klienckiego.

Można również spróbować użyć różnych sortowanie danych na serwerze.Wybierz sortowanie, który będzie mapowany na komputerze klient strona kodowa.Aby uzyskać więcej informacji zobacz "ustawienie i zmiana sortowania" temat w SQL Server Books Online.

Do oceny problemów związanych z przy użyciu typu danych Unicode lub nie obsługujących kodu Unicode, przetestuj scenariusz, do miara różnice wydajności w danym środowisku.Jest dobrą praktyką standaryzacji sortowanie, używanego na komputerach w organizacji i wdrożyć Unicode serwerów i klientów, tam gdzie to możliwe.Aby uzyskać więcej informacji na temat standardu Unicode, zobacz witryna sieci Web konsorcjum Unicode.

W wielu sytuacjach SQL Server w interakcje z innymi serwerami lub klientami, a organizacja może używać wiele standardów dostępu danych między aplikacjami i wystąpień serwera.SQL ServerKlienci są jednym z dwóch głównych typów:

  • Klienci Unicode , za pomocą OLE DB i łączność ODBC (Open Database) w wersja 3.7 lub nowszej.

  • Klienci standardu Unicode , należy użyć biblioteki DB i ODBC w wersji 3.6 lub starsza wersja.

Poniższa tabela zawiera informacje o wielojęzycznych danych przy użyciu różnych kombinacji serwerów Unicode i nie obsługujących kodu Unicode.

Serwer

Klient

Zalety i ograniczenia

Unicode

Unicode

Ponieważ dane Unicode będzie używany w systemie, w tym scenariuszu zapewnia najlepszą wydajność i ochronę przed uszkodzeniem pobrane dane.Jest to sytuacja z ActiveX Data Objects (ADO), OLE DB, a ODBC w wersja 3.7 lub nowszej wersja.

Unicode

Nie obsługujących kodu Unicode

W tym scenariuszu, szczególnie z połączenia między serwerem z systemem nowszego systemu operacyjnego i klient, który jest uruchomiona starsza wersja SQL Server, lub na starszy system operacyjny może istnieć ograniczenia lub błędy podczas przenoszenia danych na komputerze klienckim.Dane Unicode na serwerze zostanie podjęta próba mapowania strona kodowa klient nie obsługujących kodu Unicode do konwersji danych.

Nie obsługujących kodu Unicode

Unicode

Nie jest idealna konfiguracja wielojęzycznych danych.Nie można zapisać danych Unicode serwerów nieobsługujących kodu Unicode.Problemy prawdopodobnie może wystąpić, gdy dane są przesyłane do serwerów znajdujących się poza strona kodowa serwera.

Nie obsługujących kodu Unicode

Nie obsługujących kodu Unicode

Jest to bardzo ograniczanie scenariusz wielojęzycznych danych.Można użyć tylko z jednej strona kodowa.

Jeśli występują błędy lub problemy podczas przenoszenia danych z serwera do klient, w szczególności z serwera Unicode do klient nie obsługujących kodu Unicode sortowanie serwera nie może być rozpoznawany przez starszych sterowników klient.W tej sytuacji najlepszą opcją może być uaktualnienie systemu operacyjnego klient, aby podstawowe metody sortowania systemu są aktualizowane.Jeśli komputer kliencki ma zainstalowane oprogramowanie klient bazy danych, warto rozważyć zastosowanie aktualizacji usługa do bazy danych oprogramowania klienckiego.

Można również spróbować użyć różnych sortowanie danych na serwerze.Wybierz sortowanie, który będzie mapowany na komputerze klient strona kodowa.Aby uzyskać więcej informacji o zmienianiu ustawień sortowania, zobacz "Ustawianie i zmienianie ustawień sortowania programu SQL Server"" temat w SQL Server Books Online.Aby uzyskać więcej informacji o zmienianiu ustawień sortowania, zobacz wpływu zmiana ustawień sortowania i zmienianie typów danych ze standardu Unicode na Unicode z witryny Microsoft — Centrum pobierania.Aby uzyskać więcej informacji dotyczących migracji identyfikacji innym niż Unicode na Unicode, zobacz SQL Server najlepszych praktyk migracji na standard Unicode dokument z witryny Microsoft — Centrum pobierania.

Tematy pokrewne:Podstawy standardu Unicode

Powrót do początku

Strona kodowa

Strona kodowa jest uporządkowany zestaw znaków danego skryptu, w którym indeksu liczbowego lub wartość punkt kodowy jest skojarzony z każdego znaku.Strona kodowa systemu Windows jest często określany jako zestaw znaków lub charset.Strony kodowe są używane do obsługi zestawów znaków i układów klawiatury, które są używane przez różne ustawienia regionalne systemu Windows.

Wszystkie Windows Server 2008 Sortowanie w formacie Unicode są oparte na Unicode 5.0.

Powrót do początku

Typy danych

Typ danych jest definicja, która określa zakres wartości, operacje, które można wykonać na wartości i w jaki sposób wartości są przechowywane w pamięci.Dane określające typy pozwala SQL Server przewidywalny manipulować danych.Typy danych standardu Unicode znaku są char, varchar, i text.Typy danych standardu Unicode są nchar, nvarchar, i ntext.Firma Microsoft zaleca, aby użyć typy danych standardu Unicode w aplikacjach, zwłaszcza jeśli przechowywania danych znakowych, który odzwierciedla wielu języków.

Aby uzyskać więcej informacji dotyczących migracji identyfikacji innym niż Unicode na Unicode, zobacz SQL Server najlepszych praktyk migracji na standard Unicode dokument.

Tematy pokrewne:Typy danych (aparat bazy danych), Typy danych (Transact-SQL), Typy danych usług integracji

Powrót do początku

Porządek sortowania

Porządek sortowania określa sposób sortowania wartości danych.Ma to wpływ na wyniki porównania danych.Dane są sortowane przy użyciu ustawień sortowania i może zostać zoptymalizowana za pomocą indeksów.

Tematy pokrewne:Style Sortowanie sortowanie systemu Windows, Indeksy

Powrót do początku

Zobacz także

Odwołanie