Aracılığıyla paylaş


Yerel biçim aldığınızda veya veri vermek için kullanarak

Native format is recommended when you bulk transfer data between multiple instances of Microsoft SQL Server using a data file that does not contain any extended/double-byte character set (DBCS) characters.

Not

Birden çok örneği arasında toplu aktarım verilere SQL Server veri içeren bir dosyayı genişletilmiş veya dbcs karakterlerini kullanarak kullanmalısınız Unicode yerel biçim.Daha fazla bilgi için bkz: Unicode yerel biçim aldığınızda veya veri vermek için kullanma.

Bir veritabanının yerel veri türlerini özgün biçimi korur.Yerel biçim veri arasında yüksek hızlı veri aktarımı için tasarlanmıştır SQL Server tablolar.Kullanırsanız, bir biçim dosyası, kaynak ve hedef tabloları aynı olması gerekmez.Veri aktarımı iki adımdan oluşur:

  1. Toplu bir kaynaktan veri verme tablo bir veri dosyasına

  2. Hedef içinde veri dosyasından veri alma toplutablo

Gereksiz dönüştürme veri türleri karakter biçimi, saat ve yer tasarrufu gelen ve aynı tablolar arasında yerel biçim kullanımını önler.En yüksek aktarım hızı elde etmek için ancak birkaç denetimleri veri biçimlendirme ile ilgili gerçekleştirilmez.Yüklenen verileri ile sorunları önlemek için aşağıdaki kısıtlamaları listesine bakın.

Kısıtlamalar

Verileri almak için yerel biçim başarıyla, emin olun:

  • Veri dosyası yerel biçim.

  • Hedef Tablo veri dosyası (sahip doğru sayıda sütun, veri türü, uzunluk, null durumu vb.) ile uyumlu olması gerekir veya her alan için karşılık gelen sütun eşlemek için bir biçim dosyası kullanma.

    Not

    Hedef ile eşleşmeyen bir dosyadan veri almak, tablo, alma işlemi başarısız, ancak veri değerleri hedef içinde eklenen tablo yanlış etkilenebilir.Bunun nedeni veri dosyasından hedef tablo biçimini kullanarak yorumlanır.Bu nedenle, herhangi uyuşmazlık sonuçlar içinde yanlış değerleri ekleme.Ancak, hiçbir koşulda bir uyumsuzluk fiziksel veya mantıksal tutarsızlıkları veritabanında neden olabilir.

    Biçim dosyaları kullanma hakkında daha fazla bilgi için bkz: Biçimi dosyaları veri verme veya alma için.

Başarılı bir alma hedef tablo bozulmasına neden.

Nasıl bcp özgün biçiminde veri işleme

Bu bölüm için nasıl özel konular anlatılmaktadır bcp yardımcı programını dışa aktarır ve verileri alır yerel biçim.

  • Noncharacter veri

    Bcp hizmetini kullanan SQL Server iç ikili veri biçimi noncharacter verileri yazmak için bir tablo için bir veri dosyası.

  • charor varchar data

    Her birinin başında char veya varchar alan, bcp önek uzunluğu ekler.

    Önemli notÖnemli

    Varsayılan olarak, yerel mod kullanıldığında bcp yardımcı programını karaktere dönüştürür SQL Server oem karakter önce onu kopyalar için bir veri dosyası.The bcp utility converts characters from a data file to ANSI characters before it bulk imports them into a SQL Server table.Bu dönüştürmeler sırasında genişletilmiş karakter veri kaybolabilir.Genişletilmiş karakterler için Unicode yerel biçim kullanın veya belirttiğiniz bir kod sayfa.Kullanma hakkında daha fazla bilgi için bir kod sayfa, bkz: Farklı harmanlamalar arasında veri kopyalama.

  • sql_variant veri

    If sql_variant data is stored as a SQLVARIANT in a native-format data file, the data maintains all of its characteristics.Her veri değeri veri türünü kaydeder meta veriler değeri ile birlikte saklanır.Bu meta veriler bir hedef aynı veri türü olan veri değerini yeniden oluşturmak için kullanılan sql_variant sütun.

    Hedef için veri türü, sütun değil sql_variant, her veri değeri için hedef veri türü dönüştürülür sütun, normal kurallarına dönüştürme örtülü veri. izleyenGeçerli toplu iş iş veri dönüştürme sırasında bir hata oluşursa, geri alınır.Tüm char ve varchar değerleri arasında transfer sql_variant Sütunlar sahip bir kod sayfa dönüştürme sorun.Daha fazla bilgi için bkz: Farklı harmanlamalar arasında veri kopyalama.

    Veri dönüşümü hakkında daha fazla bilgi için bkz: Veri Türü Dönüştürme (Veritabanı Altyapısı).

Yerel biçim komut seçenekleri

Yerel biçim içine bir tablo kullanarak veri alabilirsiniz bcp, bulk INSERT veya Ekle...SEÇİN * OPENROWSET(BULK...) DAN.İçin bir bcp komutu veya bulk INSERT deyim, komut satırında veri biçimini belirtebilirsiniz.INSERT için...SEÇİN * ndan openrowset(bulk...) deyim belirtmeniz gerekir veri biçiminde bir biçim dosyası.

Yerel biçim, aşağıdaki komut satırı seçenekleri tarafından desteklenir:

Komutu

Seçenek

Açıklama

BCP

-n

Neden bcp verileri yerel veri türlerini kullanmak için yardımcı program.1

BULK INSERT

DATAFILETYPE ='native'

Yerel veya geniş yerel veri türleri veri kullanır.Not DATAFILETYPE, gerekli değil bir biçim dosyası veri türlerini belirtir.

1 Yerel olarak yüklemek için (- n) önceki sürümleri ile uyumlu bir biçime veri SQL Server istemciler, -v geçin.Daha fazla bilgi için bkz: SQL Server'ın önceki sürümlerden yerel ve karakter biçimi veri alma.

Daha fazla bilgi için bkz: bcp Yardımcı Programı, BULK INSERT (Transact-SQL), veya OPENROWSET (Transact-SQL).

Not

Alternatif olarak, bir alanın başına temelinde de biçimlendirme belirtebilirsiniz bir biçim dosyası.Daha fazla bilgi için bkz: Biçimi dosyaları veri verme veya alma için.

Örnekler

Aşağıdaki örnekler göstermek nasıl toplu vermek yerel verileri kullanarak bcp ve toplu alma aynı veri bulk INSERT kullanarak.

Örnek tablo

Örnek bir tablo taşıyan bir iste myTestNativeData tablo oluşturulmasını AdventureWorks örnek veritabanı altında dbo şema.Örnekleri çalıştırmak için önce bu tablo oluşturmanız gerekir.De SQL Server Management Studio yürütmek Query Editor:

USE AdventureWorks2008R2;
GO
CREATE TABLE myTestNativeData (
   Col1 smallint,
   Col2 nvarchar(50),
   Col3 nvarchar(50)
   ); 

Bu tablo doldurmak ve elde edilen içeriği görüntülemek için yürütmek aþaðýdaki ifadeleri:

INSERT INTO myTestNativeData(Col1,Col2,Col3)
   VALUES(1,'DataField2','DataField3');
INSERT INTO myTestNativeData(Col1,Col2,Col3)
   VALUES(2,'DataField2','DataField3');
GO
SELECT Col1,Col2,Col3 FROM myTestNativeData

Yerel veri toplu verme BCP kullanma

Kendisinden veri vermek tablo kullanmak için veri dosyası, bcp ile dışarı seçeneğini ve aşağıdaki niteleyicileri:

Niteleyiciler

Açıklama

-n

Yerel veri türlerini belirtir.

-T

Belirleyen bir bcp yardımcı programını bağlanır SQL Server ile bir güvenilir bağlantı kullanarak tümleşik güvenlik.If -T is not specified, you need to specify -U and -P to successfully log in.

Aşağıdaki örnek toplu özgün biçiminde veri verir myTestNativeData tablo adlı yeni bir veri dosyasına myTestNativeData-n.Dat veri dosyası.En Microsoft Windows komut istemi istemine girin:

bcp AdventureWorks2008R2..myTestNativeData out C:\myTestNativeData-n.Dat -n -T

Toplu alma yerel veri için bulk INSERT kullanma

Aşağıdaki örnek bulk INSERT veri almak için kullanır myTestNativeData-n.Dat veri dosyası içine myTestNativeData tablo.De SQL Server Management Studio yürütmek Query Editor:

USE AdventureWorks2008R2;
GO
BULK INSERT myTestNativeData 
    FROM 'C:\myTestNativeData-n.Dat' 
   WITH (DATAFILETYPE='native'); 
GO
SELECT Col1,Col2,Col3 FROM myTestNativeData
GO