Aracılığıyla paylaş


BULK INSERT (Transact-SQL)

Veritabanına bir veri dosyası alır tablo veya kullanıcı tanımlı biçim.

Topic link iconTransact-SQL sözdizimi kuralları

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
    Veritabanı adı, belirtilen tablo veya görünümü yer alır.Belirtilmezse, geçerli veritabanı budur.

  • schema_name
    Is the name of the table or view schema.schema_name is optional if the default schema for the user performing the bulk-import operation is schema of the specified table or view.Ifschemabelirtilmez ve varsayılan şemayı toplu alma işlemini gerçekleştiren kullanıcının belirtilen tablo veya Görünüm durumundan farklı olanSQL Serverdöndüren bir hata iletisi ve toplu alma işleminin iptal edilir.

  • table_name
    Adı tablo veya görünümünü toplu şekilde veri alabilirsiniz.Yalnızca görünüm, tüm sütunları başvurmak için aynı temel tablo kullanılabilir.Veri görünümleri, yükleme için kısıtlamaları 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 yoludur.BULK INSERT (ağ, disket, sabit disk vb. dahil) bir diskten veri alabilirsiniz.

    data_filesunucudan, geçerli bir yol belirtmeniz gerekirSQL Serverolduğu çalışan.Ifdata_fileUzak olan dosya, belirttiğiniz Evrensel Adlandırma Kuralı (UNC) adı.Bir UNC adı formu vardır. \\Systemname\PaylaşımAdı\Yol\Filename.Örneğin, \\SystemX\DiskZ\Sales\update.txt.

  • BATCHSIZE **=**batch_size
    toplu iş iş işlemde satır sayısını belirtir.Her toplu iş iş bir hareket olarak sunucuya kopyalanır.Bu başarısız olursaSQL Servertamamlar veya için her toplu iş hareketi geri alırVarsayılan olarak, belirtilen veri dosyasındaki tüm verileri tek toplu iş iş durumdadır.Performans konuları hakkında daha fazla bilgi için bu konudaki "Uyarılar" bakın.

    Daha fazla bilgi için bkz: Toplu işlemleri için Bulk ımport yönetme.

  • CHECK_CONSTRAINTS
    Toplu alma işlemi sırasında tüm kısıtlamalar hedef tablo veya Görünüm denetlenmeli belirtir.CHECK_CONSTRAINTS seçeneği olmadan, bir CHECK ve yabancı anahtar kısıtlamaları göz ardı edilir sonra işlemi, kısıtlama, tablo olarak değil güvenilir olarak işaretlenmiş.

    Not

    NOT NULL kısıtlamaları, birincil anahtar ve benzersiz her zaman uygulanır.

    Belirli bir noktada, bütün tablo kısıtlamalar incelemelisiniz.Kısıtlama revalidating maliyeti toplu alma işlemi CHECK kısıtlamaları, artan veri uygulama maliyetini aşabilir önce tablonun boş ise.

    Kısıtlamalar devre dışı (varsayılan davranış) isteyebileceğiniz bir verilerin kısıtlamalarını ihlal eden satırları içeriyorsa durumudur.Devre dışı bırakılmış, CHECK kısıtlamalarına sahip verileri alabilir ve daha sonraTransact-SQLdeyimleri kaldırma geçersiz veri.

    Not

    MAXERRORS seçenek sınırlama denetimi için geçerli değildir.

    Not

    InSQL Server 2005ve sonraki sürümleri, BULK INSERT zorlar yeni veri doğrulama ve veri denetimleri varolan komut dosyalarını, veri dosyası. geçersiz veriler üzerinde yürütülen, başarısız olmasına neden

    Daha fazla bilgi için bkz: Toplu alma işlemi tarafından denetimini denetleme kısıtlaması.

  • CODEPAGE**=** { **'**ACP '| **'**OEM '| 'RAW '| 'code_page' }
    Kod sayfa verilerin, veri dosyasındaki belirtir.CODEPAGE geçerlidir yalnızca verileri içerenchar,varchar, ortextdaha büyük karakter değerler içeren sütunlar
    127
    or less than 32.

    Not

    Microsoft her sütun için bir harmanlama adı belirttiğiniz önerir bir Biçim dosyası.

    CODEPAGE değeri

    Açıklama

    acp

    Sütunchar,varchar, ortextveri türüne dönüştürülmesiANSI/MicrosoftWindows kod sayfa (ISO 1252)SQL Serverkod sayfa.

    OEM (varsayılan)

    Sütunchar,varchar, ortextveri türü için sistem OEM kod sayfa dönüştürülürSQL Serverkod sayfa.

    HAM

    Bir başka bir kod sayfa dönüştürme oluşur; bu hızlı bir seçenektir.

    code_page

    Belirli bir kod sayfa numarasını, örneğin, 850.

    Important noteImportant Note:
    SQL Server kod sayfa 65001 (UTF-8 kodlama) desteklemiyor.

    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:

    karakter (varsayılan)

    Karakter biçimi.

    Daha fazla bilgi için bkz: Karakter biçimi kullanarak Al veya veri ver.

    Yerel

    Yerel (veritabanı) veri türleri.Toplu olarak yerel veri dosyası oluşturma, verileri almaSQL ServerkullanarakKullanımıbcp yardımcı programı.

    Özgün değer sunan daha yüksek bir performans alternatif karakter değeri.

    Daha fazla bilgi için bkz: Yerel biçim kullanarak Al veya veri ver.

    widechar

    Unicode karakter.

    Daha fazla bilgi için bkz: Unicode karakter biçimi kullanarak Al veya veri ver.

    widenative

    (Veritabanı) yerel veri türleri hariçchar,varchar, vetextsütun, veri depolanan Unicode.Oluşturmawidenative ' veri almayı toplu veri dosyasıyla SQL Serverkullanarak Kullanımıbcp yardımcı programı.

    The widenative value offers a higher performance alternative to widechar.Veri dosyasını içerir.ANSIdile özgü karakterler, belirtmewidenative.

    Daha fazla bilgi için bkz: Unicode yerel biçim kullanarak Al veya veri ver.

  • FIELDTERMINATOR ='field_terminator'
    İçin kullanılacak alan ayırıcısı belirtirkarakter ve widechar veri dosyalarını. Varsayılan alan ayırıcısı \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ı belirtir.Belirtilen veri dosyasının ilk satırı varsayılandır.FIRSTROW 1 tabanlıdır.

    Not

    FIRSTROW özniteliği, sütun başlıklarını atlamak için tasarlanmamıştır.Üstbilgi atlama BULK INSERT deyim tarafından desteklenmiyor.Satır atlanıyor,SQL Server Database Enginealan sonlandırıcılar, yalnızca en görünür ve veri alanları satırlar atlandı. doğrulama

  • fire_triggers
    Tüm hedef tablo üzerinde tanımlı Tetikleyiciler eklemek belirtir yürütmek toplu alma işlemi sırasında.Hedef Ekle işlemleri için tetikleyici tanımlı, tablo, kullanıcıların tamamlanan her toplu iş iş işlem için harekete geçirdi.

    , FIRE_TRIGGERS belirtilmemişse, hiçbir ekleme Tetikleyicileri çalıştırmak.

    Daha fazla bilgi için bkz: Harekete geçirici yürütme, veri alma, toplu denetleme.

  • FORMATFILE ='format_file_path'
    Tam yolunu belirtir bir biçim dosyası.Kullanılarak oluşturulan depolanmış yanıtları içeren bir veri dosyası biçiminde bir dosyayı tanımlayanKullanımıbcp üzerinde aynı tablo veya Görünüm. yardımcı programı Biçim dosyası kullanılmalıdır:

    • Daha fazla veri dosyasını içeren veya daha az sütun tablo veya Görünüm.

    • Sütunları farklı bir sırada olur.

    • Sütun ayırıcısını değişir.

    • Veri biçiminde başka değişiklikler vardır.Dosya, kullanarak genellikle oluşturulurKullanımıbcp hizmet programı ve gerektiği gibi bir metin düzenleyicisiyle değiştirilen.Daha fazla bilgi için bkz: Kullanımıbcp yardımcı programı.

  • KEEPIDENTITY
    Kimlik değeri veya değerleri alınan veri dosyasındaki kimlik sütun için kullanılabilir olduğunu belirtir., KEEPIDENTITY belirtilmezse, bu sütun için kimlik değerlerini doğrulandı ancak alınmadı veSQL Serverotomatik olarak atadığı benzersiz değerler temel başlangıç ve artış değerleri belirtilen sırasında tablo oluşturma.Bir biçim dosyası belirtmek tablo veya Görünüm kimlik sütunu olduğundan atlandı, verileri almak için değerleri tablo veya görünümü, kimlik sütunu için veri dosyası içermiyor kullanınSQL Serverotomatik olarak atadığı benzersiz değerleri sütun.Daha fazla bilgi için bkz: DBCC CHECKIDENT (Transact-SQL).

    Daha fazla bilgi için saklama hakkında bkz: tanımlama değerlerini görmekToplu veri alma, kimlik değerleri saklama.

  • KEEPNULLS
    Boş sütunlar null değer eklenmiş sütunlar için varsayılan değerleri yerine toplu alma işlemi sırasında korunmasını belirtir.Daha fazla bilgi için bkz: Boşlara tutmak veya varsayılan değerleri, toplu alma sırasında kullanma.

  • KILOBYTES_PER_BATCH = kilobytes_per_batch
    Her toplu iş olarak verinin kilobayt (KB) yaklaşık sayısını belirtirkilobytes_per_batch.Varsayılan olarak, KILOBYTES_PER_BATCH bilinmiyor.Performans konuları hakkında daha fazla bilgi için bu konudaki "Uyarılar" bakın.

    Daha fazla bilgi için bkz: Toplu işlemleri için Bulk ımport yönetme.

  • LASTROW**=**last_row
    Yüklemek için son satırı belirtir.Varsayılan son satır belirtilen veri dosyasında, 0 ' dır.

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

    Not

    The MAX_ERRORS seçenek sınırlama denetimleri ya da dönüştürme uygulanmazmoneyvebigintveri türü.

  • ORDER ({column [asc | desc]} [ ,... n ] )
    Veri dosyası verileri nasıl sıralanır belirtir.İçe aktarılan veriler üzerinde kümelenmiş dizin göre sıralanır, toplu alma performansı geliştirilmiş tablo, varsa.Veri dosyası bir kümelenmiş dizin anahtarını sırası dışında farklı bir sırada, sıralanan veya tablo üzerinde kümelenmiş dizin, ORDER yan tümce göz ardı edilir.Sağlanan sütun adları, hedef tablodaki geçerli bir sütun adları olmalıdır.Varsayılan olarak, toplu ekleme işlemi veri dosyasını sıralanmamış varsayılmıştır.İçin en iyi duruma getirilmiş bir toplu alma,SQL Serveralınan veriler sıralanır da doğrular.

    Daha fazla bilgi için bkz: Toplu veri alma, sıralama düzeni düzenini denetleme.

  • n
    Birden çok sütun belirlenebilir gösteren yer tutucu belirtilir.

  • ROWS_PER_BATCH **=**rows_per_batch
    Veri dosyası. veri yaklaşık sayısını belirtir

    Varsayılan olarak, veri dosyasındaki tüm verileri tek bir işlem olarak sunucuya gönderilir ve toplu iş içindeki satır sayısını öğrenmek için sorgu iyileştirici bilinmiyor.ROWS_PER_BATCH belirtirseniz, (bir değer >0) toplu alma işleminin. en iyi duruma getirmek için bu değeri sunucunun kullandığıROWS_PER_BATCH için belirtilen değer yaklaşık gerçek satır sayısı aynı olmalıdır.Performans konuları hakkında daha fazla bilgi için bu konudaki "Uyarılar" bakın.

    Daha fazla bilgi için bkz: Toplu işlemleri için Bulk ımport yönetme.

  • ROWTERMINATOR ='row_terminator'
    Satır sonlandırıcıyı için kullanılacak belirtirkarakter ve widechar veri dosyalarını. Varsayılan satır sonlandırıcıyı değil**\r\n** (yeni satır karakteri).Daha fazla bilgi için bkz: Alan ve satır sonlandırıcılar belirtme.

  • tablock
    Tablo düzey kilit toplu alma işlemi süresince alınmış belirtir.Bir tablo tablonun dizin ve TABLOCK belirtilen birden çok istemci ile aynı anda yüklenebilir.Varsayılan olarak, kilit davranışı tarafından belirlenir tablo seçeneğiTablo kilit, toplu yükleme.Bazı durumlarda, toplu alma işlemi süresince bir kilit kilit çakışması masadaki azaltır tutarak önemli ölçüde performansı artırabilir.Performans konuları hakkında daha fazla bilgi için bu konudaki "Uyarılar" bakın.

    Daha fazla bilgi için bkz: Kilitleme davranışı için Bulk ımport denetleme.

  • ERRORFILE ='file_name'
    Hataları biçimlendirmeye sahip bir OLE DB satır kümesi için dönüştürülemiyor satırları toplamak için kullanılan dosyayı belirtir.Bu satır, veri dosyasındaki "olduğu gibi.", bu hata dosyasına kopyalanır

    Komut yürütüldüğünde hata dosyası oluşturulur.Dosya zaten varsa bir hata oluşur.Ayrıca, uzantıya sahip 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.

Remarks

BULK INSERT deyim, INSERT karşılaştırması için...SELECT * FROM OPENROWSET(BULK...) deyim,Kullanımıbcp Bkz: komutu Toplu alma ve verme işlemleri toplu hakkında.

Bir CSV veri dosyasından veri almak için gerekenler gibi toplu alma, veri hazırlama hakkında bilgi için bkz:Veri, toplu vermek veya alma için hazırlanıyor.

BULK INSERT deyim, kullanıcı tanımlı bir işlemde çalıştırılabilir.Bir kullanıcı tanımlı hareketin bir BULK INSERT deyim ve bir tablo veya Görünüm birden çok toplu işlemi kullanarak veri almak için BATCHSIZE yan tümce kullanan geldiğinde geri gönderilen tüm toplu işleri çalışırken geriSQL Server.

Satır Ekle toplu alma tarafından gerçekleştirilen işlemler kaydedilir hareket günlüğüne hakkında bilgi için bkz:Toplu alma en az günlüğe kaydetme için Önkoşullar.

InSQL Server 2005ve sonraki sürümleri, BULK INSERT zorlar yeni ve varolan komut dosyaları, kullanıcılar geçersiz veri. yürütülen başarısız olmasına neden bir dosyadan okunan veri daha katı veri doğrulama ve veri denetimleriÖrneğin, BULK INSERT şimdi, doğrular:

  • Yerel gösterimlerifloatorrealgeçerli veri türleri şunlardır.

  • Çift baytlık bir uzunluk Unicode veri yok.

Form geçersiz veri alındı'nün önceki sürümlerinde toplu olabilirSQL Serverdeğil yükleyin şimdi karşıdan yükle.Önceki sürümlerindeSQL Serverhata. ortaya kadar istemci çalıştığında erişim geçersiz veri.Daha sıkı doğrulama sürpriz verilerin toplu alma işleminden sonra sorgularken en aza indirir.

Performans konuları

Tek toplu iş iş işlemde temizlendi için sayfaların iç bir eşik değeri aşarsa, arabellek havuzu tam bir tarama işlemi tamamlandıktan sonra temizlemek için sayfaları tanımlamak için ortaya çıkabilir.Bu tam tarama, toplu alma performansı zararı.Yavaş bir g/Ç alt sisteminin büyük arabellek havuzu birleştirildiğinde iç eşiği aşan, olası bir durum ortaya çıkar.Büyük makinelerde arabellek taşmaları önlemek için ya da TABLOCK İpucu (hangi toplu en iyi duruma getirme kaldırır) kullanmayın veya (toplu en iyi duruma getirme koruyan) daha küçük bir toplu iş boyutu.

Farklı bilgisayarlar için çeşitli toplu iş boyutu ne en iyi, çalışma bulmak için veri yüklemesi ile sınamanızı öneririz.

Toplu verme veya SQLXML belgelerini alma

Toplu olarak verme veya SQLXML veri almak için aşağıdaki veri türlerinden birini kullanmak, biçim dosyası:

Veri türü

ETKİN

SQLCHAR veya SQLVARYCHAR

Verileri istemci kod sayfa veya kod sayfa tarafından harmanlama örtük olarak gönderilir).The effect is the same as specifying the DATAFILETYPE ='char' without specifying a format file.

SQLNCHAR veya SQLNVARCHAR

Verileri, Unicode olarak gönderilir.Etkisi olduğunu belirten DATAFILETYPE aynı= 'widechar' belirtmeden bir biçim dosya

SQLBINARY veya SQLVARYBIN

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

Dizenin ondalık yazım dönüşümlerini

In SQL Server 2005 and later versions, the string-to-decimal type conversions used in BULK INSERT follow the same rules as the Transact-SQLCONVERT function, which rejects strings representing numeric values that use scientific notation.Bu nedenle, BULK INSERT gibi dize geçersiz değerler olarak kabul eder ve dönüştürme hataları rapor eder.

Not

InSQL Serversürüm 7.0 veSQL Server 2000BULK INSERT dizenin ondalık tür dönüştürmesi kullanan sayısal değerleri temsil eden dizeleri destekler, bilimsel gösterim.

Bu davranışa geçici bir çözüm bulmak üzere toplu alma bilimsel gösterim için bir biçim dosyası kullanmafloatveri ondalık sütun., biçim dosyası, Açıkça tanımlayan sütun olarakrealorfloatveri.Bu veri türleri hakkında daha fazla bilgi için bkz:float ve gerçek (Transact-SQL).

Not

Dosya temsil eder.realveri olarakSQLFLT4veri türü vefloatveri olarakSQLFLT8veri türü.XML biçimi dosyaları hakkında daha fazla bilgi için bkz:Schema Syntax for XML Format Files; ya da olmayan XML biçimindeki dosyaları hakkında daha fazla bilgi için bkz:Dosya depolama türü kullanma Kullanımıbcp belirtme.

Bilimsel gösterimi kullanır sayısal bir değer almak için örnek

Bu örnekte aşağıdaki kullanan tablo:

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

Kullanıcı isterse toplu için veri almat_floatTablo.C:\t_float-c.dat, veri dosyasını içeren bilimsel gösterimfloatveri; örneğin:

8.0000000000000002E-28.0000000000000002E-2

Ancak, BULK INSERT alamıyor bu verileri doğrudant_float, çünkü, ikinci sütunc2, kullandığıdecimalveri türü.Bu nedenle, bir biçim dosyası gereklidir.biçim dosyası bilimsel gösterim eşleme gerekirfloatOndalık biçim, sütunun veric2.

Dosyasını kullanan biçimi aşağıdakiSQLFLT8ikinci veri alanını ikinci sütun için eş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ı kullanma (dosya adı kullanarak C:\t_floatformat-c-xml.xml) test tabloya sınama verileri almak için aşağıdaki sorunTransact-SQLdeyim:

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

İzinler

INSERT ve ADMINISTER toplu işlemleri izinlerinin olması gerekir.Buna ek olarak, aşağıdakilerden birini veya birkaçını doğruysa ALTER tablo iznine gereklidir:

  • Kısıtlamaları var ve CHECK_CONSTRAINTS seçeneği belirtilmemişse.

    Not

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

  • Tetikleyicileri bulunuyor ve FIRE_TRIGGER seçeneği belirtilmemişse.

    Not

    Varsayılan olarak, tetikleyici harekete değil.Tetikleyicilerin açıkça baþlatmak için FIRE_TRIGGER seçeneğini kullanın.

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

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

, BirSQL Serverkullanıcı oturum Windows kimlik doğrulaması kullanarak, kullanıcının yalnızca kullanıcı hesabı için güvenlik profili bağımsız erişilebilir dosyaları okuyabilirSQL Serverişlem.

BULK INSERT deyim kullanarak yürütmeksqlCmd veya osql veri ekleme, bir bilgisayardan SQL Serverikinci bir bilgisayara ve bir data_fileüçüncü bilgisayardaki bir UNC yol kullanarak, bir 4861 hata alabilirsiniz.

Bu hatayı gidermek için kullanın.SQL Serverkimlik doğrulaması ve birSQL Servergüvenlik profili kullanan oturum açmaSQL ServerHesap, işlem veya yapılandırma Windows etkinleştirme güvenlik hesabını temsilci seçme.Temsilci seçme için güvenilir olması bir kullanıcı hesabını etkinleştirme hakkında daha fazla bilgi için bkz: Windows Yardımı.

Bu ve diğer güvenlik konuları BULK INSERT, kullanma hakkında daha fazla bilgi için bkz:BULK INSERT veya OPENROWSET(BULK...) kullanarak toplu veri alınıyor.

Örnekler

C.Bir dosyadan veri almak için dikey çizgileri kullanma

Sipariş ayrıntılı bilgileri aşağıdaki örnek alırAdventureWorks.Sales.SalesOrderDetailTablo bir kanal kullanılarak belirtilen veri dosyasından (| ) olarak alan ayırıcısı ve |\nsatır sonlandırıcıyı.

BULK INSERT AdventureWorks.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ştirFIRE_TRIGGERSbağımsız değişken.

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

c.Satırı 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 kullanılan bir dosya alır:

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

Ek örnekler

Değişiklik Geçmişi

Güncelleştirilmiş içerik

Eklenmiş performans konuları "Uyarılar" bölümü.

Güncelleştirilmiş açıklama FIRSTROW seçeneği.

Açıklama güncelleştirildicode_page.