Kopiowanie danych między różne sposoby sortowania

In Microsoft SQL Server data can be moved between Unicode columns seamlessly and conversion is unnecessary.Dane przenoszone między kolumny zawierające dane znakowe nieobsługujących kodu Unicode, jednak muszą zostać przekonwertowane z źródło stronę kodową do miejsce docelowe strona kodowa.A 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.Strony kodowe obsługiwane zestawy znaków i używany przez różnych układów klawiatury Microsoft ustawień regionalnych systemu Windows.Listę obsługiwanych stronach kodowych, zobacz Kod strony architektury.

Domyślnie dane znakowe są konwertowane w następujący sposób:

Operacja

Konwertowane na danych znakowych:

Eksportuj

OEM strona kodowa znaków

Importuj

ANSI i Microsoft Windows strona kodowa znaków

Konwersja między strony kodowe OEM i ANSI powoduje utratę znaki rozszerzone lub zestaw zestaw znaków dwubajtowych znaków (zestaw znaków dwubajtowych).Aby uniknąć takich konwersji w SQL Server, można określić strona kodowa lub sortowanie.

Ostrzeżenie

Informacji na temat transferowania bazy danych z jednego sortowanie do innego sortowanie, zobacz to witryna sieci Web Microsoft.

W SQL Server 7.0 i nowszymi, Magazyn fizyczny ciągów znaków jest kontrolowane przez ustawienia sortowania.Ustawianie metody sortowania jest obsługiwane w czterech poziomów: wystąpienie serwera bazy danych, kolumna tabela i wyrażenie.sortowanie określa trzy właściwości:

  • Strona kodowa używana do przechowywania danych znakowych nie obsługujących kodu Unicode.

  • kolejność sortowania sortowania dla typów danych Unicode (nchar, nvarchar, i ntext).kolejność sortowania sortowania określa kolejność sortowania, w którym znaki są sortowane i sposób znaki są oceniane w operacjach porównania.

  • kolejność sortowania sortowania dla typów danych innych niż Unicode znaku (char, varchar, i text).

Ostrzeżenie

Microsoftzaleca, aby określić nazwę sortowanie dla każdej kolumna w plik formatu.

Wprowadzenie do stron kodowych i sortowania, zobacz Sortowanie i obsługa standardu Unicode.Aby uzyskać szczegółowe informacje, zobacz Praca z sortowania.

Za pomocą sortowania kolumny poziom

W SQL Server wersji 7.0 lub nowszej, można kontrolować konwersji danych przez określenie sortowanie, w której dane są przechowywane pole docelowego pliku danych dla wywozu luzem, lub kolumna tabela miejsce docelowe dla operacji importu zbiorczego.Wszelkie wymagane translacje między sortowanie danych w pliku i sortowanie kolumn tabela w bazie danych odbywa się wewnętrznie przez przywóz lub wywóz operacji.

Ostrzeżenie

Dla SQL Server 7.0 i nowszymi, określając strona kodowa jest obsługiwane, ale zaleca się określenie sortowania w plik formatu.

Metody sortowania zawsze stosuje się do SQLCHAR kolumn w operacji importu zbiorczego i wywóz luzem.Specyfikacje sortowanie kolumny są zawsze ignorowane dla kolumn, które nie mają SQLCHAR lub SQLNCHAR, określony jako typ danych hosta.Metody sortowania są używane do określenia kolejność sortowania sortowania kolumny SQLCHAR i SQLNCHAR podczas operacji importu zbiorczego, dla których podanych w wskazówka kolejność sortowania kolumn.

Aby określić sortowanie, należy użyć plik formatu.Oba typy plików w formacie obsługują określanie sortowania poziom kolumna.Informacji na temat używania ustawień sortowania w plikach formatu XML programu Zobacz poniższej sekcji Określanie poziomie kolumny sortowania w plikach formatu XML nie.Informacji na temat używania ustawień sortowania w plikach formatu XML, zobacz Opis plików w formacie XML.

Określanie ustawień sortowania kolumny poziom w pliki w formacie XML programu

Ostatniej kolumny w innych niż XML plik formatu (kolumna 8 Pozycja porządkowa) zawiera specyfikację sortowanie, który definiuje sposób przechowywania danych dla tej kolumny w pliku danych.Dostępne są następujące opcje sortowanie kolumna:

Opcja

Opis

name

Określa nazwę używaną do przechowywania danych w pliku danych sortowanie.Lista nazw sortowanie SQL, zobacz Nazwa sortowania SQL Server (Transact-SQL).

RAW

Określa, że dane są przechowywane w stronę kodową, która jest określona w opcji strona kodowa w poleceniu lub bcp_control BCPFILECP wskazówka.Jeśli nie określono żadnego z tych, sortowanie pliku danych jest strona kodowa OEM z klient komputera.

UwagaUwaga:
Aby uzyskać więcej informacji na temat opcji strona kodowej, zobacz "Przy użyciu strona kodowej" w dalszej części tego tematu.Aby uzyskać więcej informacji, zobacz temat wskazówka BCPFILECP bcp_control.

""

Ma takie samo znaczenie jak RAW.

Przykłady

Poniższy przykład przedstawia plik formatu XML programu z sortowania kolumna dla pola 2 i 3.Informacje dotyczące sortowanie jest wyświetlany czcionką pogrubioną.

9.0
4
1       SQLCHAR       0       7       "\t"     1     DepartmentID     ""
2       SQLCHAR       0       100     "\t"     2     Name             SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR       0       100     "\t"     3     GroupName        SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR       0       24      "\r\n"   4     ModifiedDate     ""

Ostrzeżenie

Poprzedni plik formatu jest HumanResources.Department tabela w AdventureWorks2008R2 Przykładowa baza danych, która zawiera cztery kolumny: DepartmentID, nazwę, Nazwa_grupy, i ModifiedDate.

Więcej informacji na temat plików w formacie XML programu, zobacz Opis plików w formacie XML programu.

Przy użyciu strony kodowej

Ostrzeżenie

Do kontrolowania danych, Microsoft zaleca używanych plik formatu do określenia poziom kolumna sortowania dla masowych eksportu lub importu zbiorczego operacji.Aby uzyskać więcej informacji zobacz temat. "Za pomocą sortowania kolumny poziom" we wcześniejszej sekcji.

Składnię służącą do strona kodowa jest następująca:

  • Aby określić strona kodowa, w bcp polecenia, użyj - C przełączania:

    -C { ACP | OEM | RAW | code_page }

  • Aby określić strona kodowa w WSTAW ZBIORCZEGO lub INSERT...Wybierz * instrukcja OPENROWSET(BULK...), użyj opcji Strona KODOWA:

    CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' }

Obie - C przełącznik i opcji CODEPAGE zaakceptować następujące wartości strona kodowa.

Strony kodowej

Opis

AKP

Podczas operacji importowania danych, który określa pola char, varchar, lub tekstu typu danych są konwertowane strona kodowa ANSI i Windows (ISO 1252) na SQL Server kodu strony.

Podczas operacji eksportowania Określa, że bcp konwertuje te kolumny z SQL Server Strona kodowa ANSI i Windows kodu strony.

OEM (domyślnie)

Podczas operacji importowania danych, który określa pola char, varchar, lub tekstu typu danych są konwertowane ze strona kodowa OEM systemu do SQL Server kodu strony.

Podczas operacji eksportowania Określa, że bcp konwertuje te kolumny z SQL Server strona kodowa strony kod OEM systemu.

RAW

Bez konwersji z jednego strona kodowa do innego wystąpienia.Jest to najszybsza opcja.

code_page

Numer strona kodowa określonego (na przykład 850).Listę obsługiwanych stronach kodowych, zobacz Kod strony architektury.

Przykłady

W następujących przykładach użyto HumanResources.myTeam tabela w AdventureWorks2008R2 bazy danych.Przed uruchomieniem przykłady, należy utworzyć w tej tabela.Informacje w tabela i jak je tworzyć, zobacz Tworzenie tabeli HumanResources.myTeam.

Ostrzeżenie

Przed sprawdzeniem w poniższym przykładzie, należy usunąć istniejące wiersze z myTeam tabela, aby uniknąć konfliktów klucz podstawowego.

A.Przy użyciu strony kodowej z bcp

W tym przykładzie użyto bcp do eksport zbiorczy danych z HumanResources.myTeam tabela w AdventureWorks2008R2 bazy danych do myTeam850.txt pliku danych, należy użyć strona kodowa 850.W wiersz polecenia systemu Windows należy wprowadzić:

bcp AdventureWorks2008R2.HumanResources.myTeam out myTeam850.txt -c -C850 -T

B.Przy użyciu strony kodowej z WSTAWIĆ luzem

This example uses BULK INSERT to bulk import myTeam850.txt, created in the preceding bcp example, into the AdventureWorks2008R2 HumanResources.myTeam table.

narzędzie do kwerendy takie jak SQL Server Management Studio Edytor kwerend wykonać:

USE AdventureWorks2008R2;
GO
DELETE HumanResources.myTeam;
GO
BULK INSERT HumanResources.myTeam 
   FROM 'C:\myTeam850.txt'
   WITH (CODEPAGE = 850);
GO

Eksportowanie danych między różne metody sortowania luzem

W ramach operacji eksportowania luzem specyfikacji sortowanie określa strona kodowa, która jest używana do przechowywania danych znaków w pliku danych.Stosuje się do:

  • Wszystkie kolumny w pliku danych formatu znaków.

  • Wszystkie kolumna w pliku w trybie macierzystym, gdzie SQLCHAR jest określony jako typ danych pliku hosta.

  • SQLCHAR znaki, których wartości są większe niż 127 lub mniej niż 32.

    Metody sortowania są stosowane do znaków, których wartości są 32 do 127, ale wszystkie strony kodowe mapowania znaków do wartości od 32 do 127, więc stosowanie różnych ustawień sortowania nie ma wpływu.

Zasady ustalania, które sortowanie lub strona kodowa jest używana przy wywozie luzem operacji są następujące:

  • Jeśli określono sortowania kolumny w plik formatu lub za pomocą ODBC bcp_setcolfmt funkcja (bcp_setcolfmt), dane znakowe są przechowywane przy użyciu strona kodowa ANSI skojarzone z sortowania.

  • Jeśli nie określono sortowanie kolumna, ale przez opcję strona kodowa w poleceniu określono strona kodowa lub bcp_control BCPFILECP hint, wszystkie dane SQLCHAR z kolumn o Brak specyfikacji sortowanie kolumna są przechowywane przy użyciu strona kodowa określona.

    Ostrzeżenie

    Aby uzyskać informacje dotyczące opcji strona kodowej zobacz "Przy użyciu strona kodowej" wcześniej w tym temacie.Aby uzyskać więcej informacji, zobacz temat wskazówka BCPFILECP bcp_control.

  • Jeśli nie określisz sortowanie lub strona kodowa, SQLCHAR dane są przechowywane przy użyciu strona kodowa OEM z klient komputera.

Ostrzeżenie

Nie informacji na temat sortowanie /strona kodowa jest przechowywana w pliku danych.

Importowanie danych między różne metody sortowania luzem

Dla operacji importu zbiorczego strona kodowa interpretacji stosuje się do kolumny przechowywany jako znak format, SQLCHAR, dane w pliku danych.W pliku danych formatu znaków wszystkie kolumny są przechowywane jako SQLCHAR.Ponieważ żadne informacje o sortowanie /strona kodowa jest przechowywany w pliku danych, dla operacji importu zbiorczego, należy podać informacje dotyczące sortowania /strona kodowa pól danych.

Zasady ustalania, które sortowanie lub strona kodowa jest używana na importu zbiorczego operacji są następujące:

  • Jeśli określisz sortowanie kolumna w plik formatu lub za pomocą ODBC bcp_setcolfmt funkcja (bcp_setcolfmt), SQLCHAR w pliku danych jest interpretowana przy użyciu strona kodowa ANSI skojarzone z określoną kolumna sortowanie.Upewnij się, że specyfikacji sortowanie odpowiada sortowaniu w pliku danych.

  • Jeśli nie określono sortowanie kolumna, ale strona kodowa jest określona za pomocą opcji strony kodowej w poleceniu lub bcp_control hint BCPFILECP SQLCHAR danych jest interpretowany przy użyciu strony kodowej określona.

    Ostrzeżenie

    Aby uzyskać informacje dotyczące opcji strona kodowej Zobacz przy użyciu strona kodowej wcześniej w tym temacie.Aby uzyskać więcej informacji, zobacz temat wskazówka BCPFILECP bcp_control.

  • Jeśli nie określisz żadnych ustawień sortowania lub strona kodowa, a następnie dane w kolumnach SQLCHAR jest interpretowany przy użyciu strony kodowej OEM z klient komputera.

W przypadku operacji importu zbiorczego specyfikacji sortowanie steruje następujące:

  • Sposób działania próbuje interpretować strona kodowa SQLCHAR kolumn w pliku danych.

  • Jak bcp lub WSTAW luzem stosuje się wskazówka zamówienia, jeśli określony.

    Jeśli używasz wskazówka zamówienia operacji importu zbiorczego używa poprawnie zinterpretować wskazówka kolejności sortowania.Dotyczy to wskazówka kolumnach SQLCHAR i SQLNCHAR.Dane w kolumnach odwołuje się wskazówka zamówienie musi być w sekwencji zdefiniowanym przez sortowanie, który jest mapowany do tych kolumn.Aby uzyskać więcej informacji, zobacz Kontrolowanie porządek sortowania podczas zbiorczego, importowanie danych.