Toplu alma ve verme işlemleri toplu hakkında

SQL Serververileri dışa aktarma destekler toplu bir SQL Server için toplu alma verileri ve tablo bir SQL Server Tablo veya nonpartitioned görünümü.Aşağıdaki temel yöntemler kullanılabilir.

Yöntemi

Açıklama

Veri alır

Verileri verir

BCP yardımcı programı

Toplu olarak dışa aktarır ve toplu bir komut satırı yardımcı (Bcp.exe) veri alır ve biçimi dosyaları oluşturur.

Evet

Evet

bulk INSERT deyim

A Transact-SQL verileri bir veri dosyası veritabana alır deyim tablo veya nonpartitioned görünümü.

Evet

Hayır

EKLE...SELECT * FROM OPENROWSET(BULK...) statement

A Transact-SQL statement that uses the OPENROWSET bulk rowset provider to bulk import data into a SQL Server table by specifying the OPENROWSET(BULK…) function to select data in an INSERT statement. 

Evet

Hayır

Kısıtlamalar

SQL Servervirgülle ayrılmış değer (csv) dosyalarından veri alma toplu alma işlemleri desteklemez.Ancak, üzerinde 32-bit sistemler için csv verileri içine aktarmak mümkündür bir SQL Server tablo kullanarak toplu alma iyileştirmeleri olmadan openrowset ile Jet için ole db sağlayıcısı.Metin dosyaları, Jet veri kaynak ile aynı dizinde yer alan bir schema.ini dosyası tarafından tanımlanan şema ile tabloları olarak davranır.csv verileri için schema.ini dosyasında parametrelerden biri olacaktır "biçimi CSVDELIMITED =".Bu çözümü kullanmak için Jet nasıl Test anlamak gerekir IISAMm işlemleri — bağlantısını dize sözdizimi, schema.ini kullanımı, kayıt defteri ayarı seçenekleri vb.).En iyi bu bilgilerin Microsoft Access Yardım ve Bilgi Bankası (BB) makalelerinin kaynaklardır.Daha fazla bilgi için bkz: metin veri kaynağı sürücüsünü başlatma, bir sql Server 7.0 dağıtılmış sorgu güvenli Access veritabanları için bağlantılı bir sunucu ile nasıl, ve nasıl yapılır: ole db Sağlayıcı Jet 4.0 ISAM veritabanlarına bağlanmak için kullanmak,Jet Sağlayıcısı'nın metin IISAM kullanılarak sınırlandırılmış metin dosyaları açma.

İşlem içi vs.İşlem dışı işlem

bulk INSERT deyim ve openrowset(bulk) işlev işlem ile yürütmek SQL Server, paylaşımı aynı bellek adres alanı.Veri dosyaları tarafından açıldığı için bir SQL Server işlem, verileri istemci işlemi arasında kopyalanmamasını ve SQL Server işlemler.bulk INSERT veya INSERT kullanarak verileri içe aktarırken güvenlik konuları için...SEÇİN * openrowset(bulk...) Bkz: Toplu veri bulk INSERT veya openrowset(bulk...) kullanarak alma.

Buna karşılık, bcp yardımcı programı, işlem dışı çalışır.İşlem bellek boşluklar arasında veri taşımak için bcp kullanmak gerekir işlemler arası veri sıralaması.Inter-process data marshalingis the process of converting parameters of a method call into a stream of bytes.Bu işlemci önemli yük ekleyebilirsiniz.Ancak, çünkü her ikisi de bcp parses yerel depolama ortamı veri ve dönüştürme verileri biçimlendirmek istemci işleminde, ayrıştırma ve veri dönüştürme işlemi hafifletebilecek SQL Server işlem.cpu sınırlama varsa, bu nedenle, daha iyi toplu alma performansı birden fazla cpu bulunan bir bilgisayarda veya farklı bilgisayarlarda kullanarak elde bcp yerine bulk INSERT veya INSERT kullanarak...SEÇİN * OPENROWSET(BULK) DAN.

Biçimi dosyaları

The bcp utility, BULK INSERT, and INSERT ...SEÇİN * gelen tüm openrowset(bulk...) kullanımı özel bir destek biçim dosyası mağazalar her alan veri dosyasındaki bilgileri biçimlendirme.Bir dosya biçimini de buna karşılık gelen hakkında bilgi içerebilir SQL Server tablo.Biçim dosyası için gerekli olan tüm format bilgilerini sağlamak için kullanılan toplu vermek verilerden ve toplu alma veri örnek olarak SQL Server.

Biçimi dosyaları veri içe aktarma sırasında veri dosyasında olduğu gibi yorumlamak için ve dışa aktarma sırasında veri dosyasındaki verileri biçimlendirmek için esnek bir yol sağlar.Bu esneklik verileri işleyemez veya özel gereksinimleri için verileri yeniden biçimlendirmek için özel amaçlı kod yazma gereğini ortadan kaldırır SQL Server veya harici bir uygulama.Örneğin, toplu olduğunda veri yüklenmesine izin verme virgülle ayrılmış değerler gerektiren bir uygulamaya, dışa aktarılan verilerdeki alan Kesiciler olarak virgül eklemek için bir biçim dosyası kullanma.

SQL Server 2005ve sonraki sürümlerinde biçimi dosyaları iki tür destekler: xml biçimi dosyaları ve olmayan xml biçimi dosyaları.Olmayan xml biçimi dosyaları önceki sürümleri tarafından desteklenen SQL Server; xml biçimi dosyaları, yeni SQL Server 2005.

The bcp utility is the only tool that can generate a format file.Daha fazla bilgi için bkz: Bir biçim dosyası oluşturuluyor.Biçim dosyaları hakkında daha fazla bilgi için bkz: Biçimi dosyaları veri verme veya alma için.

Not

Durumlarda bir biçim dosyası sırasında sağlanan bir toplu vermek veya alma işlemlerini, kullanıcı komut satırında biçimlendirme varsayılan geçersiz kılmak seçebilirsiniz.

Sorgu işlemci ve toplu alma

Toplu alma verileri örnek için SQL Server, bcp yardımcı programı, INSERT deyim toplu ve Ekle...SEÇİN * den openrowset(bulk...) deyim tüm sorgu işlemci ile çalışacak.

Üçünü ole db satır kümeleri veri dosyasındaki verileri dönüştürme.Ancak dönüştürme yöntem, aşağıdaki gibi değişir:

  • The bcp utility reads the data file and sends a TDS stream to the SQL Server Bulk Copy Program (BCP) API, which converts the data into OLE DB rowsets.

  • openrowset toplu satır kümesi sağlayıcı bulk INSERT ve dosya verilerini doğrudan bir ole db satırkümesi dönüştürün.

ole db satır kümeleri hedef eklenen tablo sorgu işlemcisi tarafından planlar ve her işlemi en iyi duruma getirir.

Performans değerlendirmeleri

Büyük miktarda veri alındığında performans değerlendirmeleri de önemli olabilir.Bazı durumlarda, toplu alma veya verme toplu işlemi bir veya daha fazlasını işleme biçimini değiştirerek performansı geliştirilebilir:

  • Toplu iş anahtarları

  • Kontrol kısıtlamaları denetleme kısıtlaması

  • Nasıl toplu hareketleri günlüğe kaydedilir.Bu, genellikle tam kurtarma modeli kullanan veritabanları için uygundur.

  • Veri dışarı sıralama

  • Paralel veri alma

  • Tablo kilitleme

  • Tetikleyici yürütme

Daha fazla bilgi için bkz: Toplu alma performansı en iyi duruma getirme.

Not

Hiçbir özel iyileştirme teknikleri, toplu verme işlemleri için mevcut.Bu işlemler sadece kaynak verileri seçin tablo bir deyim kullanarak.