Aracılığıyla paylaş


BULK INSERT (Transact-SQL)

Bir veri dosyası bir veritabanı tablo veya görünümünde bir kullanıcı tarafından belirtilen biçim içine alır SQL Server 2008 R2.Verimli bir şekilde SQL Server ve heterojen veri kaynakları arasında veri aktarımı için bu deyim kullanın.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

BULK INSERT 
   [ database_name . [ schema_name ] . | schema_name . ] [ table_name | view_name ] 
      FROM 'data_file' 
     [ WITH 
    ( 
   [ [ , ] BATCHSIZE = batch_size ] 
   [ [ , ] CHECK_CONSTRAINTS ] 
   [ [ , ] CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ] 
   [ [ , ] DATAFILETYPE = 
      { 'char' | 'native'| 'widechar' | 'widenative' } ] 
   [ [ , ] FIELDTERMINATOR = 'field_terminator' ] 
   [ [ , ] FIRSTROW = first_row ] 
   [ [ , ] FIRE_TRIGGERS ] 
   [ [ , ] FORMATFILE = 'format_file_path' ] 
   [ [ , ] KEEPIDENTITY ] 
   [ [ , ] KEEPNULLS ] 
   [ [ , ] KILOBYTES_PER_BATCH = kilobytes_per_batch ] 
   [ [ , ] LASTROW = last_row ] 
   [ [ , ] MAXERRORS = max_errors ] 
   [ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ] 
   [ [ , ] ROWS_PER_BATCH = rows_per_batch ] 
   [ [ , ] ROWTERMINATOR = 'row_terminator' ] 
   [ [ , ] TABLOCK ] 
   [ [ , ] ERRORFILE = 'file_name' ] 
    )] 

Bağımsız değişkenler

  • database_name
    Belirtilen tablo ya da görünümün bulunduğu veritabanı adıdır.Belirtilmezse, geçerli veritabanı budur.

  • schema_name
    tablo veya Görünüm şema addır.schema_name Toplu alma işlemini gerçekleştiren kullanıcının varsayılan şemayı şema belirtilen tablo veya görünümü ise isteğe bağlıdır.schema Belirtilmezse ve toplu alma işlemini gerçekleştiren kullanıcının varsayılan şema belirtilen tablo ya da görünüme farklı SQL Server bir hata iletisi ve toplu alma işlemi iptal edilir verir.

  • table_name
    tablo veya Görünüm veri toplu alma için adıdır.Yalnızca, tüm sütunlar aynı temel tablo başvurmak görünümler kullanılır.Görünümleri içine yükleme veri sınırlamaları hakkında daha fazla bilgi için bkz: INSERT (Transact-SQL).

  • 'data_file'
    Belirtilen tablo veya görünümü almak için verileri içeren veri dosyasının tam yol değil.bulk INSERT (ağ, disket, sabit disk ve benzeri dahil) bir diskten veri alabilirsiniz.

    data_filehangi sunucunun geçerli bir yol belirtmelisiniz SQL Server çalışmaktadır.data_file Uzak olan dosya, Evrensel Adlandırma Kuralı (unc) adı belirtin.Form bir unc adı vardır \\Systemname\PaylaşımAdı\yol\Dosya adı.Örneğin, \\SystemX\DiskZ\Sales\update.txt.

  • BATCHSIZE **=**batch_size
    toplu işişlemde satır sayısını belirtir.Her toplu iş bir hareket olarak sunucuya kopyalanır.Bu başarısız olursa, SQL Server tamamlar veya her toplu işhareketi geri alır.Varsayılan olarak, belirtilen veri dosyasındaki tüm verileri tek bir toplu işolur.Performans konuları hakkında daha fazla bilgi için "Uyarılar" konusuna bakın. Bu konuda daha sonra.

    Daha fazla bilgi için, bkz. İçin toplu almayı toplu işlemleri yönetme.

  • CHECK_CONSTRAINTS
    hedeftablo veya görünüm tüm kısıtlamaları toplu alma işlemi sırasında denetlenmeli belirtir. CHECK_CONSTRAINTS seçeneği olmadan onay ve yabancı anahtar kısıtlamaları yoksayılır ve işlemden sonra tablo kısıtlaması olarak değil güvenilir işaretlenmiş.

    Not

    BENZERSİZ, birincil anahtar ve değil null Kısıtlamaları her zaman uygulanır.

    Herhangi bir aşamada tüm tablokısıtlamaları incelemeniz gerekir.tablo , toplu alma işlemi, kısıtlamanın revalidating maliyetini Kontrol kısıtlamaları artımlı verilere uygulamadan maliyetini aşabilir önce boş olmayan olmuşsa.

    Bu kısıtlamaları devre dışı (varsayılan davranış) isteyebilirsiniz giriş veri kısıtlamalarını ihlal eden satırları içeriyorsa durumdur.Devre dışı Kontrol kısıtlamaları ile veri almak ve daha sonra Transact-SQL deyimleri kaldırma verileri geçersiz.

    Not

    maxerrors seçeneği kısıtlaması denetimi için geçerli değildir.

    Not

    İçinde SQL Server 2005 ve daha ileri sürümlerinde bulk INSERT yeni veri doğrulama ve varolan komut dosyaları başarısız olduğunda geçersiz veri sayfasındaki yürütülen onlar neden veri denetimleri zorlarbir veri dosyasını.

    Daha fazla bilgi için, bkz. Toplu alma işlemler tarafından denetleme kısıtlaması denetleme.

  • CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' }
    Veri kod sayfası veri dosyasını belirtir.Kod sayfası yalnızca veri içeriyorsa, ilgili char, varchar, veya text büyük karakter değerleri içeren sütunlar 127 veya az 32.

    Not

    Microsofther sütun için bir harmanlama adı belirtmeniz önerir bir biçim dosyası.

    codepage değeri

    Açıklama

    ACP

    Sütunlarından char, varchar, veya text gelen veri türü dönüştürülür ANSI/Microsoft Windows kod sayfası (ISO 1252) SQL Server kod sayfası.

    oem (varsayılan)

    Sütunlarından char, varchar, veya text veri türü için oem kod sayfası sistemden dönüştürülür SQL Server kod sayfası.

    HAM

    Bir kod sayfası diğerine dönüştürme oluşur; Bu en hızlı seçenektir.

    code_page

    Örneğin, 850 belirli kod sayfası numarası.

    Önemli notÖnemli
    SQL Serverkod sayfası 65001 (utf-8 kodlaması) desteklemez.

    Daha fazla bilgi için, bkz. Farklı harmanlamalar arasında veri kopyalama.

  • DATAFILETYPE = { 'char' | 'doğal' | 'widechar' | 'widenative' }
    bulk INSERT belirtilen veri dosyası türü değeri kullanarak alma işlemini gerçekleştireceğini belirtir.

    DATAFILETYPE değeri

    Tüm verileri temsil:

    CHAR (varsayılan)

    Karakter biçimi.

    Daha fazla bilgi için, bkz. Veri alınır veya için karakter biçimi kullanma.

    doğal

    Yerel (veritabanı) veri türleri.Veri alma toplu olarak bir yerel veri dosyası oluşturmak SQL Server kullanarak bcp yardımcı programı.

    Yerel değerini char değeri için daha yüksek bir performans alternatif sunar.

    Daha fazla bilgi için, bkz. Yerel biçim aldığınızda veya veri vermek için kullanarak.

    widechar

    Unicode karakterler.

    Daha fazla bilgi için, bkz. Unicode karakter biçimi kullanarak aldığınızda veya veri verme.

    widenative

    Yerel (veritabanı) veri türleri hariç char, varchar, ve text sütunlar, içine veri saklanır gibi Unicode.Oluşturma widenative veri dosyasına veri alma toplu olarak SQL Server kullanarak bcp yardımcı programı.

    Widenative değeri için daha yüksek bir performans alternatif sunan widechar.Veri dosyası içeriyorsa, ANSI genişletilmiş karakterleri belirtmek widenative.

    Daha fazla bilgi için, bkz. Unicode yerel biçim aldığınızda veya veri vermek için kullanma.

  • FIELDTERMINATOR ='field_terminator'
    Kullanılacak alan Sonlandırıcı belirtir char ve widechar veri dosyaları.Varsayılan alan Sonlandırıcı \t (sekme karakteri) ' dir.Daha fazla bilgi için, bkz. Alan ve satır sonlandırıcılar belirtme.

  • FIRSTROW **=**first_row
    Yüklemek için ilk satır sayısını belirtir.Belirtilen veri dosyasındaki ilk satır varsayılandır.FIRSTROW 1 tabanlıdır.

    Not

    FIRSTROW öznitelik sütun başlıklarını atlamak için tasarlanmamıştır.Üstbilgileri atlanıyor bulk INSERT deyimtarafından desteklenmiyor.Satır atlanıyor, SQL Server Veritabanı Altyapısı alan Kesiciler sırasında yalnızca bakar ve alanları, veri doğrulamasatırlar atlandı.

  • FIRE_TRIGGERS
    Tüm toplu alma işlemi sırasında hedef tablo yürütmek üzerinde tanımlı tetikleyiciler ekleme belirtir.hedeftabloINSERT işlemleri için tetikleyici tanımlanmış, bunlar için tamamlanan her toplu işharekete geçirilir.

    FIRE_TRIGGERS belirtilmezse, hiçbir INSERT yürütmektetikler.

    Daha fazla bilgi için, bkz. Tetikleyici yürütme toplu olduğunda veri alma denetleme.

  • FORMATFILE ='format_file_path'
    biçim dosyasıtam yol belirtir.biçim dosyası kullanılarak oluşturulan saklı yanıtları içeren bir veri dosyası açıklanır bcp yardımcı programı aynı tablo veya görünüm.biçim dosyası kullanılmalıdır:

    • Büyük veri dosyasını içeren veya tablo veya Görünüm'den daha az sütun.

    • Sütunları farklı sıradadır.

    • sütun sınırlayıcıları değişir.

    • Veri biçiminde başka değişiklikler vardır.Biçimi dosyaları genellikle oluşturulduğunu kullanarak bcp yardımcı programı ve gerektiği gibi bir metin düzenleyicisi ile değiştirilmiş.Daha fazla bilgi için, bkz. bcp Yardımcı Programı.

  • KEEP IDENTITY
    Kimlik değeri veya değerleri alınan veri dosyasında kimlik sütuniçin kullanılacağını belirtir.Keep IDENTITY belirtilmemişse, bu sütun için kimlik değerleri doğrulanır ancak alınmadı ve SQL Server otomatik olarak, temel başlangıç ve artış değerleri sırasında belirtilen benzersiz değerler atar tablo oluşturma.Değerleri tablo veya Görünüm kimlik sütun için veri dosyası içermiyorsa, bir biçim dosyası belirtmek için kimlik sütun tablo kullanın veya veri alırken atlanmasını görünümdür; SQL Server' % s'sütunun sütunbenzersiz değerler otomatik olarak atar.Daha fazla bilgi için, bkz. dbcc CHECKIDENT (Transact-SQL).

    Daha fazla bilgi için bkz: tutma hakkında Belirle değerleri Bkz: Kimlik değerleri toplu olduğunda veri alma tutma.

  • KEEPNULLS
    Eklenen sütunlar için varsayılan değerler yerine toplu alma işlemi sırasında boş sütunlar null değeri korurlar belirtir.Daha fazla bilgi için, bkz. Boş değerlere tutma veya toplu almayı sırasında varsayılan değerleri kullanma.

  • KILOBYTES_PER_BATCH = kilobytes_per_batch
    Kilobayt (kb) veri toplu iş başına yaklaşık sayısını belirtir kilobytes_per_batch.Varsayılan olarak, KILOBYTES_PER_BATCH bilinmiyor.Performans konuları hakkında daha fazla bilgi için "Uyarılar" konusuna bakın. Bu konuda daha sonra.

    Daha fazla bilgi için, bkz. İçin toplu almayı toplu işlemleri yönetme.

  • lastrow**=**last_row
    Yüklemek için son satırın numarasını belirtir.Varsayılan son satır belirtilen veri dosyasındaki belirten 0 ' dır.

  • maxerrors = max_errors
    Sözdizimi hataları veri toplu alma işlemini iptal önce izin verilen en fazla sayısını belirtir.Toplu alma işlemi tarafından alınan her satır gözardı edilir ve bir hata olarak sayılan.max_errors Belirtilmezse, varsayılan değer olan 10.

    Not

    max_errors seçeneği sınırlama denetimleri veya dönüştürme için geçerli değildir money ve bigint veri türü.

  • Sipariş ({ column [asc | DESC ] } [ ,... n ] )
    Veri dosyasındaki verileri nasıl sıralanır belirtir.' % S'dizin kümelenmiş dizin tablouyarınca alınan veriler sıralanır, varsa toplu alma performansı artırıldı.Veri dosyası kümelenmiş dizinanahtar sırası dışında farklı bir sırada, sıralanmış veya tablo kümelenmiş dizin yok ise, yan tümce sipariş göz ardı edilir. Sağlanan sütun adları geçerli sütun adları hedef tabloolmalıdır.Varsayılan olarak, veri dosyası sırasız toplu ekleme işlemi varsayar.En iyi duruma getirilmiş toplu almaiçin SQL Server da içe aktarılan veriler sıralanır doğrular.

    Daha fazla bilgi için, bkz. Toplu olduğunda veri alma, sıralama düzenini denetleme.

  • n
    Birden çok sütun belirtilebilir gösteren bir yer tutucudur.

  • rows_per_batch **=**rows_per_batch
    Veri veri dosyasındaki satırları yaklaşık sayısını gösterir.

    Varsayılan olarak, veri dosyasındaki tüm verileri tek bir işlem olarak sunucuya gönderilir ve sorgu iyileştiricisiiçin toplu iş satır sayısı bilinmiyor.rows_per_batch belirtirseniz (değeri > 0) server toplu alma işlemini en iyi duruma getirmek için bu değeri kullanır.rows_per_batch için belirtilen değeri yaklaşık gerçek satır sayısı aynı olmalıdır.Performans konuları hakkında daha fazla bilgi için "Uyarılar" konusuna bakın. Bu konuda daha sonra.

    Daha fazla bilgi için, bkz. İçin toplu almayı toplu işlemleri yönetme.

  • ROWTERMINATOR ='row_terminator'
    Kullanılacak satır Sonlandırıcı belirtir char ve widechar veri dosyaları.Varsayılan satır Sonlandırıcı olan \r\n (yeni satır karakteri).Daha fazla bilgi için, bkz. Alan ve satır sonlandırıcılar belirtme.

  • TABLOCK
    tablo-düzeykilit bulk Import işlemi süresince alındığını belirtir. tablo dizin tablo varsa ve tablock belirtilmiş birden çok istemci tarafından aynı anda yüklenebilir.Varsayılan olarak, kilitleme davranışı tablo seçeneği tarafından belirlenir toplu yüklemeüzerindekitablokilit .Bulk Import işlemi süresince kilit kilitazaltır tutançekişme tablo, bazı durumlarda performansı önemli ölçüde iyileştirebilir. Performans konuları hakkında daha fazla bilgi için "Uyarılar" konusuna bakın. Bu konuda daha sonra.

    Daha fazla bilgi için, bkz. İçin toplu almayı kilitleme davranışı denetleme.

  • ERRORFILE ='file_name'
    Biçimlendirme hataları ve için ole DB satır kümesidönüştürülemez satırları toplamak için kullanılan dosyayı belirtir.Bu satırlar, veri dosyasındaki "gibi." Bu hata dosyasına kopyalanır

    Komut çalıştırıldığında hata dosyası oluşturulur.Dosya zaten varsa bir hata oluşur.Uzantısı olan ek olarak, bir denetim dosyası.Error.txt oluşturulur.Bu, her satırda bir hata dosyasına başvuran ve hata tanılama sağlar.Hatalar düzeltildikten hemen sonra veri yüklenebilir.

Açıklamalar

Yığın için karşılaştırma deyimINSERT Ekle...SEÇİN * OPENROWSET(BULK...) DAN deyimve bcp komutu Bkz: Toplu alma ve verme işlemleri toplu hakkında.

toplu alma, csv veri dosyasından veri alma gereksinimleri gibi veri hazırlama hakkında bilgi için bkz: Veri toplu verme veya alma için hazırlanıyor..

bulk INSERT deyim , kullanıcı tanımlı bir işlem içinde çalıştırılabilir.Kullanıcı tanımlı bir hareketin, geri bir bulk INSERT deyim kullanır ve tablo verileri almak veya birden çok toplu işlemi kullanarak görüntülemek için BATCHSIZE yan tümce gönderilen tüm toplu işlemleri geri alır SQL Server.

Ne zaman toplu alma tarafından gerçekleştirilen satır ekleme işlemleri işlem günlüğüne kaydedilen hakkında daha fazla bilgi için bkz: Toplu alma Minimal günlüğü için Önkoşullar.

İçinde SQL Server 2005 ve daha ileri sürümlerinde bulk INSERT zorlayan yeni ve daha sıkı veri doğrulaması ve veri denetimleri varolan komut dosyaları başarısız olduğunda geçersiz veri üzerinde yürütülen onlar neden olabilecek bir dosyadan okunan veriÖrneğin, bulk INSERT şimdi, doğrular:

  • Doğal gösterimleri float veya real veri türleri geçerli.

  • Unicode verilerini bir çift baytlık uzunluğa sahip.

Formlar olabilir geçersiz veri toplu olarak alınan önceki sürümlerinde SQL Server, yükleme şimdi.Önceki sürümlerinde SQL Server, başarısızlık ortaya kadar istemci çalıştığında erişim verileri geçersiz.Daha sıkı doğrulama sürpriz verileri toplu almasonra sorgularken en aza indirir.

Performans değerlendirmeleri

Dahili bir eşik değeri tek bir toplu iş olarak kopyalanması için sayfa sayısını aşıyor, arabellek havuzu tam tarama toplu iş tamamlar, temizlemek için hangi sayfaları tanımlamak için ortaya çıkabilir.Bu tam tarama, toplu alma performansı zarar verebilirsiniz.Yavaş bir g/Ç alt sisteminin büyük arabellek havuzu birleştirildiğinde iç eşiği aşan bir olası durum oluşur.Büyük makinelerde Arabellek taşmaları önlemek için ya da (hangi toplu iyileştirmeler kaldıracak) tablock ipucu kullanmayın veya (bulk iyileştirmeler koruyan) daha küçük bir toplu iş boyutu kullanın.

Bilgisayarlar farklı olduğundan ne size en uygun bulmak için veri yük ile çeşitli toplu iş boyutlarda test etmenizi öneririz.

Toplu verme veya sqlxml belge alma

toplu vermek veya alma sqlxml veri için bilgisayarınızda biçim dosyasıaşağıdaki veri türlerinden birini kullanın:

Veri türü

Efekti

sqlchar veya sqlvarychar

Verileri istemcikod sayfası veya örtülü harmanlama kod sayfası gönderilir). DATAFILETYPE belirterek aynı ise ='char' bir biçim dosyasıbelirtmeden.

sqlnchar veya sqlnvarchar

Veri Unicode olarak gönderilir.DATAFILETYPE belirterek aynı ise = 'widechar' bir biçim dosyasıbelirtmeden.

SQLBINARY veya SQLVARYBIN

Veriler herhangi bir dönüştürme olmadan gönderilir.

Dize ondalık türü dönüşümleri

De SQL Server 2005 ve sonraki sürümler, dize-için-bulk INSERT içinde kullanılan ondalık türü dönüşümleri izleyin aynı kurallara Transact-SQL DÖNÜŞTÜRMEKbilimsel gösterim kullanan sayısal değerlerini temsil eden dizeleri reddederişlev. Bu nedenle, bulk INSERT gibi dizeleri geçersiz değerler olarak ele alan ve dönüştürme hataları bildirir.

Not

De SQL Server sürüm 7.0 ve SQL Server 2000, bulk INSERT dizedestekler-için-bilimsel gösterim kullanan sayısal değerlerini temsil eden dize ondalık türü dönüştürme

Bu davranışa geçici bir çözüm için bilimsel toplu alma için biçim dosyası kullanmak float ondalık sütunveri.biçim dosyası, ' % s'sütunu sütun olarak açıkça açıklamak real veya float veri.Bu veri türleri hakkında daha fazla bilgi için bkz: Kayan nokta ve gerçek (Transact-SQL).

Not

Biçim dosyaları temsil real veri olarak SQLFLT4 veri türü ve float veri olarak SQLFLT8 veri türü.xml biçimi dosyaları hakkında daha fazla bilgi için bkz: xml biçimi dosyaları için bir şema sözdizimi; veya olmayan xml biçimi dosyaları hakkında daha fazla bilgi için bkz: Dosya depolama türü kullanma bcp tarafından belirtme.

Bilimsel gösterim kullanan sayısal bir değer alma örneği

Bu örnek aşağıdaki tablokullanır:

CREATE TABLE t_float(c1 float, c2 decimal (5,4))

Kullanıcının veri toplu alma istediği t_float tablo.Bilimsel C:\t_float-c.dat, veri dosyasını içeren float veri; Örneğin:

8.0000000000000002E-28.0000000000000002E-2

Ancak, bulk INSERT doğrudan bu veri alamıyor t_float, çünkü, ikinci sütun, c2, kullandığı decimal veri türü.Bu nedenle, bir biçim dosyası gereklidir.Bilimsel biçim dosyası eşlenmelidir float sütunondalık biçimine veri c2.

Aşağıdaki biçim dosyası kullanan SQLFLT8 ikinci veri alan ikinci sütuneşlemek için veri türü:

<?xml version="1.0"?>

<BCPFORMAT xmlns="https://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<RECORD>

<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="\t" MAX_LENGTH="30"/>

<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="30"/> </RECORD> <ROW>

<COLUMN SOURCE="1" NAME="c1" xsi:type="SQLFLT8"/>

<COLUMN SOURCE="2" NAME="c2" xsi:type="SQLFLT8"/> </ROW> </BCPFORMAT>

Bu biçim dosyası kullanmak için (dosya adı kullanarak C:\t_floatformat-c-xml.xml) test tablosınama verileri almak için aşağıdaki çıkış Transact-SQL deyim:

BULK INSERT bulktest..t_float
FROM 'C:\t_float-c.dat' WITH (FORMATFILE='C:\t_floatformat-c-xml.xml');
GO

İzinler

INSERT ve toplu işlemleri yönetme izinlerinin olması gerekir.Ayrıca, aşağıdakilerden bir veya birkaçını doğruysa, alter table izni gereklidir:

  • Mevcut kısıtlamaları ve CHECK_CONSTRAINTS seçeneğini belirtilmemiş.

    Not

    Kısıtlamaları devre dışı bırakılması varsayılan davranıştır.Denetleme kısıtlamaları açıkça için CHECK_CONSTRAINTS seçeneğini kullanın.

  • Tetikleyiciler mevcut ve FIRE_TRIGGER seçeneği belirtilmedi.

    Not

    Varsayılan olarak, tetikleyicileri harekete değil.Açıkça tetiklemeleri ateşlemek için FIRE_TRIGGER seçeneğini kullanın.

  • Veri dosyasından kimlik değerini almak için KEEPIDENTITY seçeneğini kullanın.

Güvenlik Hesap temsilcisi (kimliğe bürünme)

Yoksa bir SQL Server kullanıcı Windows kimlik doğrulaması kullanarak oturum, kullanıcının yalnızca kullanıcı hesabı için güvenlik profilini bağımsız erişilebilir dosyaları okuyabilir SQL Server işlem.

bulk INSERT deyim kullanarak yürütürken sqlcmd veya osql, bir bilgisayardan veri eklerken SQL Server ikinci bir bilgisayarda belirterek bir data_file üçüncü bilgisayardaki bir unc yolkullanarak, bir 4861 hata alabilirsiniz.

Bu hatayı gidermek için SQL Server kimlik doğrulaması belirtin ve bir SQL Server Güvenlik profilini kullanan oturum açma SQL Server hesabı, işlemek veya yapılandırmak Windows etkinleştirme güvenlik hesabını temsilci seçme.Bir kullanıcı hesabını temsilci seçme için güvenilecek şekilde etkinleştirme hakkında daha fazla bilgi için Windows Yardımı'na bakın.

Bu ve diğer güvenlik konuları için bulk INSERT kullanma hakkında daha fazla bilgi için bkz: Toplu veri bulk INSERT veya openrowset(bulk...) kullanarak alma.

Örnekler

A.Kanallar, bir dosyadan veri almak için kullanma

Aşağıdaki örnek sipariş ayrıntı bilgileri alır bir kanal () kullanarak belirtilen veri dosyasındanAdventureWorks2008R2.Sales.SalesOrderDetailtablo |) alan Sonlandırıcı olarak ve |\n olarak satır Sonlandırıcı.

BULK INSERT AdventureWorks2008R2.Sales.SalesOrderDetail
   FROM 'f:\orders\lineitem.tbl'
   WITH 
      (
         FIELDTERMINATOR =' |',
         ROWTERMINATOR =' |\n'
      )

B.FIRE_TRIGGERS bağımsız değişken kullanma

Aşağıdaki örnekte verilmiştir FIRE_TRIGGERS bağımsız değişkeni.

BULK INSERT AdventureWorks2008R2.Sales.SalesOrderDetail
   FROM 'f:\orders\lineitem.tbl'
   WITH
     (
        FIELDTERMINATOR =' |',
        ROWTERMINATOR = ':\n',
        FIRE_TRIGGERS
      )

C.Satırını kullanarak bir satır Sonlandırıcı besleme

Aşağıdaki örnek, satır besleme UNIX çıktı gibi bir satır Sonlandırıcı olarak kullanan bir dosyayı içe aktarır:

DECLARE @bulk_cmd varchar(1000)
SET @bulk_cmd = 'BULK INSERT AdventureWorks2008R2.Sales.SalesOrderDetail
FROM ''<drive>:\<path>\<filename>'' 
WITH (ROWTERMINATOR = '''+CHAR(10)+''')'
EXEC(@bulk_cmd)

Diğer örnekler