Udostępnij za pośrednictwem


Collation and International Terminology

Sortowanie w SQL Server zapewniają reguły sortowania, przypadek i właściwości czułość akcentu dla danych. Ustawienia sortowania, które są używane z typami danych znaków, takie jak znak i varchar dyktowania strona kodowa oraz odpowiadające im znaki, które mogą być reprezentowane dla tego typu danych.Czy zainstalowanie nowej instancji SQL Server, przywracanie kopia zapasowa bazy danych lub nawiązywanie połączenia z serwerem baz danych klient, ważne jest zrozumienie wymagań regionalny, kolejność sortowania i wielkość liter i akcenty poufność danych, użytkownik będzie pracował.

Po wybraniu sortowanie dla serwera, bazy danych, kolumna lub wyrażenie, którego przypisywane są pewne cechy charakterystyczne do danych, które wpływają na wyniki wielu operacji wykonywanych w bazie danych.Na przykład gdy skonstruować kwerendę za pomocą ORDER BY, kolejność sortowanie zestaw wyników może być zależne od sortowanie, jest stosowana do bazy danych lub od 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 właściwości danych.

Terminy

  • Collation

  • Ustawienia regionalne

  • Unicode

  • Strona kodowa

  • Typy danych

  • Kolejność sortowania

Collation

sortowanie określa desenie bitowe reprezentujące każdy znak zestaw danych.Collations also determine the rules that sort and compare data.SQL Server supports storing objects with different collations in a single database.W wypadku kolumn nie obsługujących kodu Unicode ustawienie sortowanie określa strona kodowa dla danych i które znaki mogą być reprezentowane.Dane, które są przenoszone między kolumnami nie obsługujących kodu Unicode musi zostać przekonwertowana ze strony kodu źródłowego do docelowego strona kodowa.

Transact-SQL wyniki instrukcja może różnić się w instrukcja jest wykonywane w odniesieniu do różnych baz danych, których ustawienia różnych sortowanie.Jeśli jest to możliwe, należy użyć standardowych sortowanie dla danej organizacji.Dzięki temu nie trzeba jawnie określić sortowanie w każdym znaku lub wyrażenie Unicode.Musi podczas pracy z obiektami, które mają różne sortowanie i ustawień strona kod, kod kwerendy należy rozważyć reguły o priorytecie sortowanie.Aby uzyskać więcej informacji zobacz Pierwszeństwo sortowanie (języka Transact-SQL).

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

SQL Server ustawienia sortowanie zawiera następujące zestawy sortowanie:

  • Metody sortowania systemu Windows
    Metody sortowania systemu Windows zdefiniować reguły do przechowywania danych znakowych, które są oparte na skojarzone regionalny systemu Windows.Dla sortowanie systemu Windows porównanie danych nie obsługujących kodu Unicode jest implementowane przy użyciu tego samego algorytmu jako dane Unicode.Podstawy systemu Windows reguły sortowanie określają, które alfabetu lub język jest używany po zastosowaniu sortowanie słownika i strona kodowa, która jest używana do przechowywania danych znakowych nie obsługujących kodu Unicode.Standard Unicode i sortowanie nie obsługujących kodu Unicode są zgodne z porównania ciągów w określonej wersja systemu Windows.Zapewnia to spójność różnych typów danych w ciągu SQL Server, a także sposobem sortowania ciągi w swoich aplikacjach przy użyciu tych samych reguł, które są używane przez programistów SQL Server. Aby uzyskać więcej informacji zobaczCollation Settings in Setup.

  • Sortowanie binarne
    Sortowanie binarne sortować dane na podstawie sekwencji zakodowanej wartości, które są zdefiniowane przez typ danych i regionalny.Są one uwzględniana jest wielkość liter.Binarne sortowanie w SQL Server Określa regionalny i strona kodowa ANSI do użycia. Wymusza to kolejność sortowania binarne.Ponieważ są stosunkowo proste, sortowanie binarne zwiększyć wydajność aplikacji.W wypadku typów danych nie obsługujących kodu Unicode porównań danych są oparte na punkty kodu, które są zdefiniowane w strona kodowa ANSI.W wypadku typów danych Unicode porównań danych są oparte na punkty w kodzie Unicode.Dla binarnych sortowania na typy danych standardu Unicode regionalny nie leży w sortuje dane.Na przykład Latin_1_General_BIN i Japanese_BIN dają identyczne wyniki sortowania, gdy są one używane w danych Unicode.

    Sortowanie binarne w poprzednich wersjach SQL Server Porównanie pierwszego znaku jako WCHAR następuje porównanie bajt po bajcie. Do tyłu ze względu na zgodność, istniejące semantyka Sortowanie binarne nie zostaną zmienione.

    Sortowanie binarne w tej wersji programu SQL Server zawiera zbiór czystego punkt kodu sortowania porównania. Można dokonać migracji do binarnego metody sortowania, aby wykorzystać porównaniach prawda punkt kodu.Sortowanie binarne należy używać do tworzenia nowej aplikacji.Sufiks BIN2 identyfikuje sortowanie nazw, które implementuje nową semantyka sortowania punkt kodu.Dostępna jest również flagą porównania, która odpowiada BIN2 nowe sortowanie binarne.Aby uzyskać więcej informacji zobaczGuidelines for Using BIN and BIN2 Collations.

  • SQL Server
    SQL Server Sortowanie SQL_ ** zapewnia sortowania kolejności zgodności ze starszymi wersjami SQL Server. Reguły sortowania słownika danych nie obsługujących kodu Unicode nie są zgodne z dowolnym procedura sortowania dostarczonego przez systemy operacyjne Windows.Sortowanie danych Unicode jest jednak zgodne z określoną wersją reguły sortowania systemu Windows.Ponieważ SQL Server Sortowanie porównanie różnych reguł dla danych Unicode i nie obsługujących kodu Unicode, pojawi się różne wyniki dla porównań tych samych danych, w zależności od typu danych źródłowych. Aby uzyskać więcej informacji zobaczUsing SQL Server Collations.

    Uwaga

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

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

    • Zamierzasz używać SQL Server Replikacja z istniejącej 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:

  • Serwer-poziom sortowania
    Jest domyślnym sortowaniem zestaw podczas SQL Server zestaw w górę, a także staje się domyślnym sortowaniem bazy danych systemu. Należy zauważyć, że nie można wybierać ustawienia sortowania Unicode tylko podczas SQL Server Instalator, ponieważ nie są obsługiwane jako sortowania poziom serwera.

    Po sortowanie został przypisany do każdego obiektu w innej niż kolumna lub bazy danych, nie można zmienić sortowanie z wyjątkiem przez usunięcie i ponowne tworzenie obiektu.Zamiast zmieniać domyślnym sortowaniem wystąpienie SQL Server, można określić sortowanie w czasie tworzenia nowej bazy danych lub kolumna.

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

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

    Aby wykonać kwerendę dotyczącą serwera dla wszystkie dostępne metody sortowania, użyj następujących fn_helpcollations() wbudowanych funkcja:

    SELECT * from ::fn_helpcollations()
    
  • Bazy danych-poziom sortowania
    Podczas tworzenia bazy danych można użyć klauzula COLLATE instrukcja CREATE DATABASE, do określenia domyślnego sortowanie bazy danych.Jeśli nie sortowanie zostanie określony, baza danych jest przypisywany domyślnym sortowaniem baza danych modelu.Sortowanie baza danych modelu jest taka sama, jak domyślnym sortowaniem wystąpienie SQL Server.

    Można zmieniać sortowanie baza danych użytkownika, przy użyciu instrukcja ALTER DATABASE podobny do następującego:

    ALTER DATABASE myDB COLLATE Greek_CS_AI
    

    sortowanie bieżącej bazy danych może być pobrany przy użyciu instrukcja podobny do następującego:

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

    Uwaga

    Zmiana sortowanie bazy danych poziom nie ma wpływu poziom kolumna lub wyrażenie poziom sortowanie.

  • Sortowanie w poziomie kolumna
    Po utworzeniu tabela można określić ustawienia sortowania dla każdej kolumna, ciąg znaków za pomocą klauzula COLLATE instrukcja CREATE tabela.Jeśli sortowanie nie jest określony, kolumna zostanie przypisany domyślnym sortowaniem w bazie danych.

    Sortowanie kolumn, można zmienić przy użyciu instrukcja ALTER tabela 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 uruchamiania instrukcja i wpływają na sposób, zwracany jest zestaw wyników.Dzięki temu ORDER BY wyniki sortowania jest specyficzne dla danej lokalizacji.Za pomocą klauzula COLLATE, taki jak poniższy, zaimplementować wyrażenie poziom sortowania:

    SELECT name FROM customer ORDER BY name COLLATE Latin1_General_CS_AI
    

Powrót do początku

Ustawienia regionalne

regionalny są zestaw informacji, które jest skojarzone z miejsca lub kultury.Może to być nazwy i identyfikatora języka słyszenie, skrypt, który jest używany do zapisu, język i konwencje kulturalne.Ustawienia sortowania można skojarzyć z jednego lub kilku ustawień regionalnych.

Powrót do początku

Unicode

Jeśli są przechowywane dane znakowe, które odzwierciedla wielu języków, należy zawsze używać (typy danych standardu Unicodenchar, nvarchar, a ntext) zamiast nie obsługujących kodu Unicode (typy danychchar, varchar, a text).

Zasadnicze ograniczenia są związane z typami danych nie obsługujących kodu Unicode.Dzieje się tak, ponieważ na komputerze innym niż Unicode będą ograniczone do za pomocą jednego kodu strona.Przyrost wydajności może wystąpić z użyciem standardu Unicode, ponieważ wymagane są mniej konwersji strona kodowej.Sortowanie w formacie Unicode musi być wybrany pojedynczo poziom bazy danych, kolumna lub wyrażenie, ponieważ nie są obsługiwane poziom serwera.

Strony kodowe, korzystającej z klient zależą od ustawień systemu operacyjnego.Do ustawiania strony kodowe klient na Windows 2000Windows XP, Windows Server 2003, lub Windows Server 2008 systemy operacyjne używają Ustawienia regionalne w Panelu sterowania.

Podczas przenoszenia danych z serwera do klient sieci sortowanie serwera może nie być rozpoznawane przez starsze sterowniki klient.Jest to możliwe, podczas przenoszenia danych z serwera Unicode do klient nie obsługujących kodu Unicode.Aby uaktualnić system operacyjny klient tak, że aktualizowane są podstawowe metody sortowania systemu może być najlepszym wyjściem.Jeśli komputer kliencki ma zainstalowane oprogramowanie klient bazy danych, warto rozważyć zastosowanie aktualizacji usługa do oprogramowania klient bazy danych.

Możesz również spróbować użyć innego sortowanie danych na serwerze.Wybierz metodę sortowanie najlepiej odpowiadającą, który będzie mapowany strona kodowa na komputerze klienckim.Aby uzyskać więcej informacji zobacz temat "" Ustawianie i zmiana sortowania"w SQL Server Książki online.

Aby ocenić problemy związane z korzystaniem z typy danych standardu Unicode lub nie obsługujących kodu Unicode, należy przetestować danego scenariusza do pomiaru wydajności różnice w danym środowisku.Jest dobrą praktyką standaryzacji sortowanie, który jest używany w systemach, w całej organizacji i wdrożyć Unicode serwerów i klientów wszędzie tam, gdzie jest to możliwe.Aby uzyskać więcej informacji na temat standardu Unicode, zobacz temat Witryna sieci Web konsorcjum Unicode.

In many situations, SQL Server will interact with other servers or clients, and your organization might use multiple data access standards between applications and server instances.SQL Server clients are one of two main types:

  • Klienci Unicode korzystające z OLE DB i Open Database Connectivity (ODBC) w wersja 3.7 lub jego nowszej wersja.

  • Klienci nie obsługujących kodu Unicode. korzystających z biblioteki DB a standard ODBC w wersja 3.6 lub starszej wersja.

Poniższa tabela zawiera informacji na temat używania dane wielojęzyczne z różnych kombinacji serwerów Unicode i nie obsługujących kodu Unicode.

Serwer

Klient

Zalety i ograniczenia

Unicode

Unicode

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

Unicode

Nie obsługujących kodu Unicode

W tym scenariuszu, szczególnie z połączeniami między serwerem, na którym uruchomiono nowszego systemu operacyjnego i klient, który działa ze starszej wersja SQL Server, lub na starszy system operacyjny może istnieć ograniczenia lub komunikaty o błędach podczas przenoszenia danych na komputerze klienckim. Dane w standardzie Unicode na serwerze będzie podejmować próby mapowania do odpowiedniej strona kodowa klient nie obsługujących kodu Unicode do konwersji danych.

Nie obsługujących kodu Unicode

Unicode

To jest idealnym rozwiązaniem konfiguracja umożliwiające korzystanie z danych wielojęzycznych.Nie można zapisać danych Unicode na serwerze innym niż Unicode.Problemy mogą wystąpić, gdy dane są przesyłane do serwerów, które są poza strona kodowa na serwerze.

Nie obsługujących kodu Unicode

Nie obsługujących kodu Unicode

Jest to bardzo ograniczanie scenariusz dla wielojęzycznych danych.Można użyć tylko jeden kod strona.

Jeśli występują błędy lub problemy podczas przenoszenia danych z serwera do klient, w szczególności z serwera do klient nie obsługujących kodu Unicode, Unicode sortowanie na serwerze mogą nie być rozpoznawane przez starszych sterowników klient.W takim przypadku najlepszym wyjściem 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 oprogramowania klient bazy danych.

Możesz również spróbować użyć innego sortowanie danych na serwerze.Wybierz metodę sortowanie najlepiej odpowiadającą, który będzie mapowany strona kodowa na komputerze klienckim.Aby uzyskać więcej informacji na temat zmiany ustawień sortowania zobacz „ Ustawianie i zmienianie ustawień sortowania programu SQL Servertemat "w SQL Server Książki online. Aby uzyskać więcej informacji na temat zmiany ustawień sortowania, zobacz temat "SQL ServerZmień sortowanie najważniejsze wskazówki dotyczące „ oficjalny dokument.Aby uzyskać więcej informacji na temat przeprowadzania migracji typy danych nie obsługujących kodu Unicode na Unicode, zobacz temat "SQL ServerNajważniejsze wskazówki dotyczące migracji do standardu Unicode" whitepape.

Tematy pokrewne:Podstawy standardu Unicode

Powrót do początku

Kod strona

Strona kodowa jest uporządkowanym zbiorem znaków danego skryptu, w którym wartość indeksu liczbowego, czy punkt kodowy punktu, jest skojarzony z każdego znaku.strona kodowa systemu Windows jest często określany jako zestaw znaków or zestaw znaków.Strony kodowe są używane do zapewnienia 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 definicji, która określa zakres wartości, działania, które mogą być wykonywane na wartości i w jaki sposób wartości są przechowywane w pamięci.Umożliwia definiowanie typów danych SQL Server predictably manipulować danymi. Typy danych znaków Unicode nie są char, varchar, a text. Typy danych standardu Unicode nchar, nvarchar, a ntext. Zaleca się używania typy danych standardu Unicode w aplikacji, zwłaszcza wtedy, gdy są przechowywane dane znakowe, które odzwierciedla wielu języków.

Aby uzyskać więcej informacji na temat przeprowadzania migracji typy danych nie obsługujących kodu Unicode na Unicode, zobacz temat "SQL ServerNajważniejsze wskazówki dotyczące migracji do standardu Unicode" Dokumentacja.

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

Powrót do początku

Kolejność sortowania

kolejność 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 być zoptymalizowana za pomocą indeksów.

Tematy pokrewne:Windows Collation Sorting Styles, Indexes

Powrót do początku

See Also

Reference