Przy użyciu danych Unicode
Specyfikacja standardu Unicode definiuje jeden schemat kodowania znaków większości powszechnie używane w firmach na całym świecie.Wszystkie komputery konsekwentnie tłumaczenia wzorce bitów danych Unicode na znaki przy użyciu jednej specyfikacji Unicode.Gwarantuje to, że ten sam wzorzec bitowy jest konwertowany zawsze tego samego znaku na wszystkich komputerach.Dane można swobodnie przekazywane z jednej bazy danych lub komputera do drugiego bez obawy, że identyfikującym przetłumaczy desenie bit na znaki niepoprawnie.
Problem jeden z typów danych, które umożliwia 1 bajt zakoduj każdy znak jest, że typ danych może reprezentować tylko 256 różnych znaków.Zmusza to wiele specyfikacji kodowania lub stron kodowych dla różnych alfabetów, takich jak alfabetach zachodnioeuropejskich, które są stosunkowo niewielkie.Jest również niemożliwe do obsługi systemów, takich jak japoński Kanji lub koreański Hangul alfabetów, które mają tysięcy znaków.
Each Microsoft SQL Server collation has a code page that defines what patterns of bits represent each character in char, varchar, and text values.Poszczególne kolumny i stałych znaków można przypisać inną strona kodowa.Komputery klienckie używają strona kodowa skojarzoną z systemem operacyjnym ustawienia regionalne aby zinterpretować znak bit wzorców.Istnieje wiele różne strony kodowe i niektóre znaki są wyświetlane na niektórych stron kodowych, ale nie na innym.Niektóre znaki są zdefiniowane z wzorcem jeden bit na niektórych stronach kodu i wzorzec bitowy różnych na innych stronach kodu.Podczas tworzenia międzynarodowych systemów, które musi obsługiwać różne języki trudno pobrania strony kodowe dla wszystkich komputerów, które spełniają wymagania językowe wielu krajów i regionów.Trudno jest zapewnienie, że każdy komputer połączona z systemu przy użyciu innej strona kodowa, wykonuje poprawne tłumaczenie.
Specyfikacja standardu Unicode eliminuje ten problem przy użyciu 2 bajtów do kodowania każdego znaku.2 Bajty dla jednej specyfikacji obejmujących najczęściej używane języki biznesowe są wystarczająco różne wzorce (65 536).Ponieważ wszystkie systemy Unicode konsekwentnie te same wzory bitów do reprezentowania wszystkich znaków, nie problem jest znaki są niepoprawnie przekonwertowane podczas przenoszenia z jednego systemu do innego.Za pomocą typy danych standardu Unicode w całym systemie, można zminimalizować problemy przy konwersji znaków.
W SQL Server, te typy danych obsługuje dane Unicode:
nchar
nvarchar
ntext
Ostrzeżenie
Prefiks n dla tych typów danych pochodzi z normy ISO dla typów danych krajowych (Unicode).
Korzystanie z nchar, nvarchar, i ntext jest taka sama jak char, varchar, i text, odpowiednio, z wyjątkiem:
Szersze obsługuje Unicode zakres znaków.
Potrzeba więcej miejsca do przechowywania znaków Unicode.
Maksymalny rozmiar nchar kolumn jest 4000 znaków nie 8000 znaków, takich jak char i varchar.
Maksymalny rozmiar nvarchar kolumn przy użyciu specyfikator maksymalna jest 2 ^ 31-1 bajtów.Więcej informacji o nvarchar(max), zobacz Duża wartość typów danych.
Stałe Unicode są określone z wiodących N: Ciąg Unicode N'A ".
Wszystkie dane Unicode używa zestaw znaków zdefiniowanych przez Unicode standard.Sortowanie w formacie Unicode używana do kolumn Unicode są na podstawie atrybutów takich jak przypadek czułości, czułość akcentu, czułość Kana, czułość szerokość i binarny.