Share via


Kullanımıbcp yardımcı programı

The bcp utility bulk copies data between an instance of Microsoft SQL Server and a data file in a user-specified format.The bcp utility can be used to import large numbers of new rows into SQL Server tables or to export data out of tables into data files.Anahtarıyla kullanılması dışında QUERYOUT seçeneği, yardımcı program hiçbir gerektirirTransact-SQL. Bir tabloya veri almak için , bu tablo için oluşturulan bir biçim dosyası kullanın veya tablo sütunlarından için geçerli olan veri türlerini ve yapısını anlamak gerekir.

Topic link icon Için kullanılan sözdizimi kuralları için Kullanımıbcp Bkz: sözdizimiTransact-SQL sözdizimi kuralları (Transact-SQL).

Not

If you use bcp to back up your data, create a format file to record the data format.bcp data files do not include any schema or format information, so if a table or view is dropped and you do not have a format file, you may be unable to import the data.

bcp {[[database_name.][schema].]{table_name | view_name} | "query"}
    {in | out | queryout | format} data_file
    [-m max_errors] [-f format_file] [-x] [-e err_file]
    [-F first_row] [-L last_row] [-b batch_size]
    [-n] [-c] [-N] [-w] [-V (70 | 80 | 90 )] 
    [-q] [-C { ACP | OEM | RAW | code_page } ] [-t field_term] 
    [-r row_term] [-i input_file] [-o output_file] [-a packet_size]
    [-S server_name[\instance_name]] [-U login_id] [-P password]
    [-T] [-v] [-R] [-k] [-E] [-h"hint [,...n]"]

Bağımsız değişkenler

  • database_name
    Belirtilen tablo veya Görünüm bulunduğu veritabanı adıdır.Bu, belirtilmezse, kullanıcı için varsayılan veritabanıdır.

  • owner
    Is the name of the owner of the table or view.owneris optional if the user performing the operation owns the specified table or view.If owneris not specified and the user performing the operation does not own the specified table or view, SQL Server returns an error message, and the operation is canceled.

  • table_name
    Hedef tablo verileri alırken adıdır SQL Server (içinde) ve veri verilirken kaynak tablosuSQL Server (Çıkış).

  • view_name
    Hedef görünümü veri kopyalama işlemi sırasında adıdır SQL Server (içinde) ve veri kopyalarken kaynak görünümüSQL Server (Çıkış).Yalnızca görünüm, tüm sütunlar aynı başvurun tablo hedef görünümler kullanılabilir.Görünümlere veri kopyalamak için bu kısıtlamalar hakkında daha fazla bilgi için bkz: INSERT (Transact-SQL).

  • "query"
    Iş bir Transact-SQL bir sonuç döndüren sorgu küme. Sorgu bir COMPUTE yan tümce belirten bir deyim gibi birden çok sonuç kümesi üretirse, yalnızca ilk sonuç kümesini veri dosyasına kopyalanır; izleyen sonuç kümeleri göz ardı edilir.Use double quotation marks around the query and single quotation marks around anything embedded in the query.queryout must also be specified when bulk copying data from a query.

    saklı yordam içinde başvurulan tüm tabloların Kullanımıbcp deyimini yürütmek için önce mevcut olduğu sürece, sorgu saklı yordam başvuruda bulunabilir.Örneğin saklı yordam, geçici bir tablo oluşturur, Kullanımıbcp deyimi, yalnızca çalışma zamanında ve deyim yürütülmesi sırasında değil geçici tablo kullanılabilir olduğu için başarısız olur.Bu durumda saklı yordam sonuçlarnı ekleme düşünün bir tablo ve Kullanımıbcp verileri kopyalamak için tablo bir veri dosyasına.

  • içinde | Çıkış| QUERYOUT | Format
    Toplu kopyalama, yönünü aşağıdaki gibi belirler:

    • içinde bir dosya, veritabanı tablo veya Görünüm kopyalar.

    • Çıkış kopyaları veritabanından tablo veya görünümü bir dosyaya.Varolan bir dosyayı belirtirseniz, bu dosyanın üzerine yazılır.Verileri ayıklama yaparken dikkat Kullanımıbcp yardımcı programı, boş bir dize null olarak ve boş bir dize boş bir dize olarak gösterir.

    • QUERYOUT sorgudan kopyalar ve belirtilen tek zaman toplu kopyalama verileri bir sorgudan olması gerekir.

    • Format seçenek belirtildi biçimi dosya ( oluşturur-n, -c, -w, or -N) ve tablo veya Görünüm ayırıcısını.Toplu veri kopyalama, Kullanımıbcp komut etkileşimli biçimde bilgi re-entering kaydeder bir biçim dosyası başvurabilir.The format option requires the -f option; creating an XML biçim dosyası, also requires the -x option.Daha fazla bilgi için bkz:Bir biçim dosyası oluşturuluyor.

  • data_file
    Veri dosyasının tam yoludur.Verileri içine alınan toplu geldiğinde SQL Server, kopyalanacak verileri veri dosyasını içeren belirtilen içine tablo veya Görünüm. Veri alanından, dışa toplu olduğunda SQL Server, veri dosyası, tabloyu veya görünümü kopyalanan verileri içerir. Yol, 1 ile 255 karakter olabilir.Veri dosyası, en çok 2 içerebilir63 - 1 satır.

    Important noteImportant Note:

    For the format option, you must specify nul as the value of data_file (formatnul).

  • -mmax_errors
    Önce ortaya çıkabilecek bir sözdizim hatası sayısı üst sınırını belirtir Kullanımıbcp işlem iptal edildi.Sözdizimi hatası, hedef veri türü için bir veri dönüştürme hatası anlamına gelir.The max_errors total excludes any errors that can be detected only at the server, such as constraint violations.

    Bir satır olarak kopyalanamayacak Kullanımıbcp yardımcı programı dikkate alınmaz ve bir hata olarak sayılır.Bu seçenek dahil değilse, varsayılan değer 10'dur.

    Not

    The -m option also does not apply to converting the money or bigint data types.

  • -fformat_file
    Bir Biçim dosyasının tam yolunu belirtir.Bu seçenek anlamı, bu, aşağıdaki gibi kullanılır ortama bağlıdır:

    • If -f ile kullanılırFormat Belirtilen seçeneğiformat_file Belirtilen tablo veya Görünüm için oluşturulur. XML oluşturma biçim dosyası, ayrıca -x seçeneği.Daha fazla bilgi için bkz:Bir biçim dosyası oluşturuluyor.

    • Birlikte kullanıldığında, içinde or Çıkış option, -f varolan biçim dosyası gerektirir.

      Not

      Using a format file in with thein or out option is optional.Yokluğunu, -f seçeneği, -n, -c, -w, or -N belirtilmedi, bu komut biçimini bilgi ister ve kendi yanıtlarını (varsayılan dosya adı, bcp.fmt olan) bir biçim dosyası kaydetmenizi sağlar.

  • -x
    Used with the format and -fformat_file options, generates an XML-based format file instead of the default non-XML format file.The -x does not work when importing or exporting data.It generates an error if used without both format and -fformat_file.

    Not

    Kullanılacak -x anahtarı kullandığınız olmalıdırKullanımıbcp 10.0 istemci.Nasıl kullanılacağı hakkında bilgi için Kullanımıbcp 10.0 istemcisi, bu konudaki "Uyarılar" bakın.

  • -eerr_file
    Herhangi bir depolamak için kullanılan bir hata dosyasının tam yol, satırları belirtir Kullanımıbcp yardımcı programı, dosyadan veritabanına aktaramazsınız.Gelen hata iletileri Kullanımıbcp komutu, kullanıcının iş istasyonuna gidin.Bu seçenek kullanılmazsa, bir hata dosyası oluşturulur.

  • -Ffirst_row
    Verilecek ilk satırı belirtir bir tablo veya bir veri dosyasından içe aktarın.Bu parametre (büyük bir değer gerektirir.>) 0 ancak ()'dan<) veya (= için), toplam sayı satırları eşit. Bu parametrenin olmaması durumunda, ilk satırın dosyanın varsayılandır.

    first_row bir değer 2'ye kadar olan pozitif bir tamsayı olabilir ^ 63-1.-Ffirst_row is 1-based.

  • -Llast_row
    Tablodan vermek veya dosyadan veri almak için son satırı belirtir.Bu parametre (büyük bir değer gerektirir.>) 0 ancak ()'dan<) veya (= için), son satır sayısı eşittir. Bu parametrenin olmaması durumunda, dosyanın son satırın varsayılandır.

    last_row bir değer 2'ye kadar olan pozitif bir tamsayı olabilir ^ 63-1.

  • -bbatch_size
    Alınan veriler, toplu iş başına satır sayısını belirtir.Her toplu iş iş alındı ve tüm toplu iş iş kaydedilmiş önce alır, ayrı bir hareket olarak oturum açmış.Varsayılan olarak, bir toplu iş olarak veri dosyasındaki tüm satırlar alınır.Satırları birden çok toplu işlem arasında dağıtmak için , belirttiğiniz bir batch_size veri dosyasında satır sayısından daha küçük olan. Herhangi bir toplu işlem için işlem başarısız olursa, yalnızca eklenenleri geçerli toplu iş'ndan geri alınır.Toplu işlemi zaten tamamlanmış hareketleri içe etkilenmez bir sonraki hata.

    Do not use this option in conjunction with the **h"**ROWS_PER_BATCH =bb" option.

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

  • -n
    Toplu işlem yerel (veritabanı) kullanarak gerçekleştirdiği verilerin veri türleri.Bu seçenek, her alan için sormaz; yerel değerleri kullanır.

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

  • -c
    Bir karakter veri türünü kullanarak işlemi gerçekleştirir.Bu seçenek, her alan için sormaz; kullanır char depolama türü olmadan önekleri ve, \t (karakter sekmesinde) ve alan ayırıcısı**\r\n** (yeni satır karakteri) olarak satır Sonlandırıcı.

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

  • -N
    Yerel (veritabanı) kullanarak toplu kopyalama işlemi gerçekleştirir noncharacter veriler için veri ve Unicode karakterlerin karakter verisi için veri türü.Bu seçenek için daha yüksek bir performans alternatif sunan -w seçeneği ve bir kopyasını bir veri aktarmak için tasarlanmıştırSQL Server başka bir veri dosyası kullanma. Her alan için sormaz.ANSI genişletilmiş karakterler içeren veri aktardığınız ve doğal mod performansını yararlanmak istiyorsanız bu seçeneği kullanın.

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

    Içinde başlangıç SQL Server 2005 SP1 ile bcp.exe kullanarak verileri için aynı tablo şema alma ve verme -N, Unicode karakter sütun (örneğin, sabit bir uzunlukta olup olmadığını uyarı bir kesilme görebilirsiniz.char(10)).

    Uyarı yoksayılabilir.Bu uyarı çözümlemek için bir yol -n yerine-N.

  • -w
    Unicode karakterleri kullanarak toplu kopyalama işlemi gerçekleştirir.Bu seçenek, her alan için sormaz; kullanır nchar depolama türü olarak yok bir önekleri \t (karakter sekmesinde) ve alan ayırıcısı**\n** (yeni satır karakteri) olarak satır Sonlandırıcı.

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

  • v- (70 | 80 | 90 )
    Toplu işlem, önceki bir sürümünden veri türleri'ni kullanarak gerçekleştirir. SQL Server. Bu seçenek, her alan için sormaz; varsayılan değerleri kullanır.

    70 = SQL Server 7.0

    80 = SQL Server 2000

    90 = SQL Server 2005

    Örneğin, verilerini oluşturmak için türleri değil SQL Server 7.0 tarafından desteklenen, ancak SQL Server'ın daha yeni sürümlerde (örneğin, başlanan bigint, sql_variant, ve xml), kullan - V70 seçeneği.

    Daha fazla bilgi için bkz:Yerel ve verileri Biçimlendir karakter, SQL Server'ın önceki sürümlerden alınıyor.

  • -q
    Bağlantıda küme QUOTED_IDENTIFIERS ON deyimini yürütür Kullanımıbcp yardımcı programı'nı ve örnekSQL Server. Bir veritabanı, sahip, tablo belirtmek için bu seçeneği kullanın veya tek tırnak işareti veya boşluk içeren adını görüntüleyin.Tüm üç bölümlü tablo veya Görünüm adı tırnak işaretleri içine alın ("").

    Bir alanı veya tek tırnak işareti içeren bir veritabanı adı belirtmek için , kullandığınız gerekir –q seçeneği.

    Daha fazla bilgi için bu konunun ilerisinde Açıklamalar'a bakın.

  • -C { acp | OEM | HAM | code_page }
    Specifies the code page of the data in the data file.code_page is relevant only if the data contains char, varchar, or text columns with character values greater than 127 or less than 32.

    Not

    Her sütun için bir harmanlama adı biçiminde bir dosya belirterek yüklemenizi öneririz.

    Kod sayfa değerini

    Açıklama

    acp

    ANSI/ Microsoft Windows (ISO 1252).

    OEM

    Istemci tarafından kullanılan varsayılan kod sayfa.Bu, kullanılan varsayılan kod sayfa -C belirtilmedi.

    HAM

    Bir başka bir kod sayfa dönüştürme oluşur.Dönüştürme oluşur çünkü hızlı seçenek budur.

    code_page

    Belirli bir kod sayfa numarası; ö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.

  • -tfield_term
    alan ayırıcısı belirtir.Varsayılan ayar, \t (sekme karakteri).Varsayılan alan ayırıcısı geçersiz kılmak için bu parametreyi kullanın.Daha fazla bilgi için bkz:Alan ve satır sonlandırıcılar belirtme.

  • -rrow_term
    Satır Sonlandırıcı belirtir.Varsayılan ayar, \n (yeni satır karakteri).Varsayılan satır sonlandırıcıyı geçersiz kılmak için bu parametreyi kullanın.Daha fazla bilgi için bkz:Alan ve satır sonlandırıcılar belirtme.

  • -iinput_file
    Etkileşimli mod () kullanarak, bir toplu kopyalama gerçekleştirildiği, her veri alan için komut istemi istemini sorular için yanıtlar içeren yanıt dosyasının, adını belirtir.-n, -c, -w, or -N belirtilmedi).

  • -ooutput_file
    komut istemi isteminden yeniden yönlendirilmiş çıktı aldığı bir dosyanın adını belirtir.

  • -apacket_size
    Ağ paketi, gönderilen ve alınan sunucu başına bayt sayısını belirtir.Bir sunucu yapılandırma seçeneği kullanılarak ayarlanabilir. SQL Server Management Studio (veya sp_configure sistem saklı yordamı).However, the server configuration option can be overridden on an individual basis by using this option.packet_size can be from 4096 to 65535 bytes; the default is 4096.

    Daha fazla paket boyutu toplu işlemlerinin performansını artırabilirsiniz.Daha büyük bir paket istendi, ancak sağlanamadı, varsayılan kullanılır.Performans istatistikleri tarafından oluşturulan Kullanımıbcp yardımcı programı kullanılan paket boyutunu gösterir.

  • -Sserver_name[ **\instance_name]
    Belirtir örnek, SQL Server hangi bağlanma. Sunucu yok belirtilirse, Kullanımıbcp yardımcı programı bağlandığı varsayılan örnek SQL Server yerel bilgisayarda. Bu seçenek gereklidir bir Kullanımıbcp komut, uzak bir bilgisayardan ağ veya yerel adlı örnek çalıştırılır.Varsayılan olarak bağlanmak için örnek, SQL Server bir sunucuda, yalnızca belirtin server_name. Bir adlandırılmış örnek bağlanmak için SQL Server, belirtme server_name
    \**instance_name.

  • -Ulogin_id
    Oturum açma KIMLIĞI, bağlanmak için kullanılan belirtir. SQL Server.

    Security noteSecurity Note:

    Zaman Kullanımıbcp yardımcı programı için bağlanıyorSQL Server tümleşik güvenlik kullanarak güvenilen bir bağlantıyla kullanmak -T yerine, seçeneği (güvenilir bağlantı)user name ve password birleşimi.

  • -Ppassword
    Parola için oturum açma KIMLIğI belirtir.Bu seçenek kullanılmazsa, Kullanımıbcp komut için bir parola ister.Varsa, bu seçenek, komut istemi istemini parolasız, sonunda kullanılır. Kullanımıbcp varsayılan parola (NULL) kullanır.

    Security noteSecurity Note:

    Do not use a blank password. Use a strong password.

    Parolanız maskelemek değil belirtme -P birlikte, seçeneği-U seçeneği.Bunun yerine, belirttikten sonra Kullanımıbcp birlikte-U seçeneği ve (belirtmeyin diğer anahtarlar-P), ENTER tuşuna basın ve komut için bir parola sorar.Girildiğinde, parolanızı maskelenmiş, bu yöntem sağlar.

  • -T
    Belirleyen Kullanımıbcp için yardımcı programı bağlanırSQL Server tümleşik güvenlik kullanarak güvenilir bağlantı ile. Ağ kullanıcısı, güvenlik kimlik bilgileri login_id, ve password gerekli değildir. If T belirtilmezse, belirtmek gerekir**–u** and –p in. başarıyla oturum açmak için

  • v-
    Raporların Kullanımıbcp yardımcı programı sürüm numarasını ve telif hakkı.

  • -R
    Para birimi, tarih ve saat belirtir veridir, toplu olarak kopyalanır. SQL Server istemci bilgisayarın yerel ayar ayar ayarı için tanımlı bölgesel biçim kullanıyor. Varsayılan olarak, bölgesel ayarlar dikkate alınmaz.

  • -k
    Boş sütunlar içeren herhangi bir varsayılan değeri eklenen sütunlar yerine işlemi sırasında boş (null) değer korumak belirtir.Daha fazla bilgi için bkz:Boşlara tutmak veya varsayılan değerleri, toplu alma sırasında kullanma.

  • -E
    Öznitelik sayısal değerler sürece dizine tam metin değerlerdir.If -E , kimliğini bu sütun veri dosyasındaki alınan değerleri dikkate alınmaz ve verilir.SQL Server benzersiz değerler tablosu oluşturulurken belirtilen başlangıç ve artış değerleri temel alarak otomatik olarak atar.

    Veri dosyası tablo veya Görünüm kimlik sütunu için bir değer içermiyorsa, kimlik sütunu bir tablo veya Görünüm verileri alırken atlanması olduğunu belirtmek için biçim dosyası kullanın SQL Server otomatik olarak sütun için benzersiz bir değer atar. Daha fazla bilgi için bkz:DBCC CHECKIDENT (Transact-SQL).

    The -E option has a special permissions requirement.Daha fazla bilgi için bu konudaki "Uyarılar" bakın.

    Daha fazla bilgi için bkz: saklama hakkında Belirle değerleri Bkz: Toplu veri alma, kimlik değerleri saklama.

  • **-h"**hint[ ,... n] "
    Ipucu ya da tablo veya Görünüm verilerin toplu alma sırasında kullanılacak ipuçları belirtir.

    • ORDER**(column[ASC | DESC] [,...n])**
      Veri dosyasındaki verilerin sıralama düzeni.Alınan veri, kümelenmiş dizin göre sıralanır, toplu alma performansı artırıldı tablo, varsa.Veri dosyasını farklı bir sırada sıraladıysanız, dışındaki bir kümelenmiş dizin anahtar sırasını veya ORDER yan tümce, tablo üzerinde yok bir kümelenmiş dizin varsa, yoksayılır.Sağlanan sütun adları hedef geçerli bir sütun adları olmalıdır tablo.Varsayılan olarak, Kullanımıbcp veri dosyasını sıralanmamış varsayılmıştır.En iyi duruma getirilmiş bir toplu alma için SQL Server Ayrıca, içeri aktarılan veriler sıralanır doğrular.

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

    • ROWS_PER_BATCH **=**bb
      Veri (olarak toplu iş başına satır sayısı bb). Ne zaman kullanılır -b , tek bir işlem olarak sunucuya gönderilen tüm veri dosyasındaki kaynaklanan tarif edilmemiş.Sunucu toplu yükleme değerine göre en iyi duruma getirir bb. Varsayılan olarak, ROWS_PER_BATCH bilinmiyor.

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

    • KILOBYTES_PER_BATCH = cc
      Kilobayt (olarak toplu iş iş bazında veri yaklaşık sayısı cc). Varsayılan olarak, KILOBYTES_PER_BATCH bilinmiyor.

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

    • tablock
      Bir toplu güncelleştirme Tablo düzey kilidi toplu yükleme işlemi süresince alınan; aksi durumda, satır düzeyinde kilit alınan belirtir.Bu ipucu toplu kopyalama işlemi süresince bir kilit tutan kilit çakışması üzerinde azalttığı performansı önemli ölçüde artırır tablo.Tablo, dizin varsa, BIR tablo aynı anda birden çok istemci tarafından yüklenebilir ve tablock belirtildi.Varsayılan Tablo seçeneğini kilit davranışı belirlenir. Tablo kilit toplu yükleme hakkında.

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

    • 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 ipucu, bir CHECK ve yabancı anahtar kısıtlamaları göz ardı edilir sonra işlemi kısıtlamayı üzerinde tablo olarak değil güvenilir olarak işaretlendi.

      Not

      UNIQUE birincil anahtar ve NOT NULL Kısıtlamaları her zaman uygulanır.

      Herhangi bir aşamada, tablonun tamamını kısıtlamalar denetlemeniz gerekir.Toplu alma işleminin önce boş olmayan bir tablo ise, kısıtlama revalidating maliyetini CHECK kısıtlamaları, artımlı verilere uygulamadan maliyetini aşabilir.Bu nedenle, normal, artımlı bir toplu alma işlemi sırasında denetleme kısıtlaması etkinleştirmenizi öneririz.

      Kısıtlamalarını devre dışı (varsayılan davranış) isteyebileceğiniz BIR giriş verilerinin kısıtlamalarını ihlal eden satırları içeriyorsa durumudur.CHECK kısıtlamalarıyla devre dışı, verileri almak ve daha sonra kullanabilirsiniz Transact-SQL Geçersiz verileri kaldırmak için gereken deyimleri.

      Not

      Kullanımıbcp , veri doğrulama ve veri dosyasında geçersiz veriler üzerinde yürütülen başarısız komut dosyalarının neden olabilecek veri denetimleri şimdi zorlar.

      Not

      The -m max_errors switch does not apply to constraint checking.

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

    • fire_triggers
      Belirtilen içinde bağımsız değişkeni, hedef tablo üzerinde tanımlı Tetikleyicileri toplu kopyalama işlemi sırasında çalışacak bir ekleme.FIRE_TRIGGERS belirtilirse, hiçbir ekleme Tetikleyicileri çalışır.FIRE_TRIGGERS için yoksayılır Çıkış, QUERYOUT, and Format bağımsız değişkenleri.

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

Remarks

The bcp 10.0 client is installed when you install Microsoft SQL Server 2008 tools on your system.Araçların her ikisi için de yüklüyse SQL Server 2008 ve daha önceki sürüm SQL Server, yol ortam değişkeni değerinin bağlı olarak, önceki kullanıyor olabilirsiniz Kullanımıbcp yerine, istemciKullanımıbcp 10.0 istemci.Bu ortam değişkenini yürütülebilir dosyaları aramak için Windows tarafından kullanılan bir dizin kümesi tanımlar.Kullanmakta olduğunuz sürüm bulmak için , çalıştırma Kullanımıbcp /v adresindeki Windows komut istemi istemini komut istemi.Komut yolunu, yol ortam değişkeninde küme hakkında daha fazla bilgi için Windows Yardımı'na bakın.

XML biçimi yalnızca dosyalar ne zaman desteklenen SQL Server araçları ile birlikte yüklenir SQL Server Yerel istemci.

Nerede ve nasıl çalıştırılacağı hakkında bilgi için Kullanımıbcp yardımcı program ve komut istemi satırı yardımcı programları sözdizimi kuralları hakkında bkz:Komut istemi yardımcı programları.

Toplu işlemi için veri hazırlama hakkında bilgi almak veya operasyonlar verme Bkz: Veri, toplu vermek veya alma için hazırlanıyor.

Toplu alma tarafından gerçekleştirilen bir satır ekleme işlemlerini hareket günlüğüne ne zaman oturum hakkında daha fazla bilgi için bkz: Toplu alma en az günlüğe kaydetme için Önkoşullar.

Yerel veri dosyası desteği

Içinde SQL Server 2008, Kullanımıbcp yardımcı programı ile uyumlu olan yerel veri dosyaları destekler.SQL Server 7.0 SQL Server 2000, SQL Server 2005, ve SQL Server 2008 veritabanı. SQL Server 6.0 ve SQL Server 6.5 yerel veri dosyaları tarafından desteklenmez. SQL Server 2008.

Hesaplanan sütunlar ve sütun zaman damgası

Veri değerleri, hesaplanan için alınan dosya veya timestamp sütunları dikkate alınmaz ve SQL Server değerleri otomatik olarak atar. Veri dosyası için hesaplanmış değerleri içermeyen, veya timestamp sütunlarda tablo, belirtmek için bir biçim dosyası hesaplanan kullanın veya timestamp sütunlarda tablo verileri alırken atlanması SQL Server değerlerini sütun için otomatik olarak atar.

Hesaplanan ve timestamp toplu kopyalama sütunları olan SQL Server Normal olarak bir veri dosyası için.

Boşluklar veya tırnak işaretleri içeren tanımlayıcıları belirtme

SQL Server tanımlayıcılar, katıştırılmış boşluklar ve tırnak işareti gibi karakterler içerebilir.Gibi tanımlayıcıları aşağıdaki şekilde ele alınması gerekir:

  • Bir tanıtıcı ya da bir boşluk veya komut istemi istemine tırnak işareti içeren bir dosya adı belirtirseniz, tanımlayıcı tırnak içinde yazın... ("").

    For example, the following bcp out command creates a data file named Currency Types.dat:

    bcp AdventureWorks.Sales.Currency out "Currency Types.dat" -T -c
    
  • Tırnak işareti veya boşluk içeren bir veritabanı adı belirtmek için , kullanmalısınız -q seçeneği.

  • Sahip, tablo veya katıştırılmış boşluklar veya tırnak işaretleri içeren bir görünüm adları için aşağıdakileri yapabilirsiniz:

    • Specify the -q option, or

    • Sahip, tablo veya Görünüm adında köşeli ayraçlar ([]) tırnak işaretleri içine alın.

Veri doğrulama

Kullanımıbcp , veri doğrulama ve veri dosyasında geçersiz veriler üzerinde yürütülen başarısız komut dosyalarının neden olabilecek veri denetimleri şimdi zorlar.Örneğin, Kullanımıbcp , şimdi doğrular:

  • Yerel gösterimi float veya real veri türü geçerli değil.

  • Unicode verilerini bir çift bayt uzunlukta.

Form'ün önceki sürümlerinde alınan toplu olabilir, geçersiz veri SQL Server bir istemci geçersiz verilere erişmeye çalıştı kadar önceki sürümlerde, başarısızlık ortaya değil, ancak şimdi; yükleme başarısız olabilir. Eklenen doğrulama sürprizleri verilerin toplu yükleme sorgularken en aza indirir.

Toplu verme veya SQLXML belgelerini alma

Verme toplu SQLXML veri almak için biçim dosyanıza aşağıdaki veri türlerinden birini kullanın.

Veri türü

ETKİN

SQLCHAR veya SQLVARYCHAR

Verileri istemci kod sayfa veya kod sayfa tarafından harmanlama örtük olarak gönderilir).Efekti belirtme aynıdır -c anahtar belirtmeden bir biçim dosyası.

SQLNCHAR veya SQLNVARCHAR

Verileri, Unicode olarak gönderilir.Efekti belirtme aynıdır -w anahtar belirtmeden bir biçim dosyası.

SQLBINARY veya SQLVARYBIN

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

İzinler

A bcp out operation requires SELECT permission on the source table.

A bcp in operation minimally requires SELECT/INSERT permissions on the target table.Buna ek olarak, aşağıdakilerden biri doğru olduğunda ALTER tablo izni gereklidir:

  • Kısıtlamaları var ve CHECK_CONSTRAINTS ipucu belirtilmemiş.

    Not

    Kısıtlamalarını devre dışı bırakılması varsayılan davranıştır.Sınırlamalarını açıkça etkinleştirmek için -h seçeneğiyle CHECK_CONSTRAINTS ipucu.

  • Tetikleyicileri var ve FIRE_TRIGGER ipucu belirtilmemiş.

    Not

    Varsayılan olarak, Tetikleyicileri harekete değil.Tetikleyicilerin açıkça baþlatmak için , -h seçeneğiyle FIRE_TRIGGERS ipucu.

  • Kullandığınız -E seçeneği kimlik değerlerini bir veri dosyasından almak için.

Not

Hedef Tablo iznine ALTER TABLE gerektiren yeni SQL Server 2005. Bu yeni gereksinimi neden olabilir Kullanımıbcp komut dosyaları, Tetikleyiciler ve tetikleyicilere kısıtlamayı denetler, kullanıcı hesabının, ALTER yoksa başarısız zorunlu kılmak için hedef tablo izinleri tablosu.

Örnekler

Iş kaybını pozlandırmayı, yönetimsel Genel giderleri en aza indirmek için sık kullanılan günlüğü yedekleri zamanlamanız gerekir.

  • C.Bir veri dosyasına (güvenilir bağlantı ile) tablo satırlarını kopyalama

  • b.Bir veri dosyasına (karma modu kimlik doğrulaması ile) tablo satırlarını kopyalama

  • c.Verileri tabloya bir dosya kopyalama

  • d.Belirli bir sütun içinde bir veri dosyası kopyalanıyor.

  • e.Belirli bir satır bir veri dosyasına kopyalanıyor

  • f.Verileri bir sorgudan bir veri dosyasına kopyalanıyor.

  • g.Non-XML oluşturma biçim dosyası

  • h.Bir XML biçiminde dosyası oluşturma

  • İ.Bir biçim dosyası alma ile toplu olarak kullanma Kullanımıbcp

C.Bir veri dosyasına (güvenilir bağlantı ile) tablo satırlarını kopyalama

Aşağıdaki örnekte gösterilmiştir Çıkış seçeneğiAdventureWorks.Sales.Currency TABLO. Bu örnek, adlı bir veri dosyası oluşturur. Currency.dat ve kopya tablo verileri karakter kullanarak biçimlendirebilirsiniz. Bu örnek, Windows kimlik doğrulaması kullanıyorsanız ve, çalıştırmakta olduğunuz sunucuyu güvenilir bir bağlantıya sahip varsayar Kullanımıbcp komutu.

Bir komut istemi isteminde aşağıdaki komutu girin:

bcp AdventureWorks.Sales.Currency out Currency.dat -T -c

b.Bir veri dosyasına (karma modu kimlik doğrulaması ile) tablo satırlarını kopyalama

Aşağıdaki örnekte gösterilmiştir Çıkış seçeneğiAdventureWorks.Sales.Currency TABLO. Bu örnek, adlı bir veri dosyası oluşturur. Currency.dat ve kopya tablo verileri karakter kullanarak biçimlendirebilirsiniz.

Karma mod kimlik doğrulaması kullanıyorsanız, kullanmanız gereken örnek varsayar -U anahtarı, oturum açma KIMLIğINIZI belirtmek içinAyrıca, sürece, varsayılan örneğine bağlanıyorsunuz SQL Server yerel bilgisayarda, -S anahtar sistem adı ve isteğe bağlı olarak bir örnek adı belirtin.

bcp AdventureWorks.Sales.Currency out Currency.dat -c -U<login_id> -S<server_name\instance_name>

Sistem için parola ister.

c.Verileri tabloya bir dosya kopyalama

Aşağıdaki örnekte gösterilmiştir içinde (yukarıdaki örnekte oluşturduğunuz dosyayı kullanarak seçeneğiCurrency.dat). Önce ancak bu örnekte, boş bir kopyasını oluşturur AdventureWorks Sales.Currency TABLO Sales.Currency2, içine, veriler kopyalanır. Bu örnek, Windows kimlik doğrulaması kullanıyorsanız ve, çalıştırmakta olduğunuz sunucuyu güvenilir bir bağlantıya sahip varsayar Kullanımıbcp komutu.

Query Düzenleyicisi'nde boş bir tablo oluşturmak için , aşağıdaki komutu girin:

USE AdventureWorks;
GO
SELECT * INTO AdventureWorks.Sales.Currency2 
FROM AdventureWorks.Sales.Currency WHERE 1=2

Yeni karakter verileri toplu kopyalama tablo, diğer bir deyişle verileri almak için , komut istemi isteminde aşağıdaki komutu girin:

bcp AdventureWorks.Sales.Currency2 in Currency.dat -T -c

Komutun başarılı olduğunu doğrulamak için , içeriğini görüntüleme tablo Düzenleyicisi sorgulayın ve girin:

USE AdventureWorks;
GO
SELECT * FROM Sales.Currency2

d.Belirli bir sütun içinde bir veri dosyası kopyalanıyor.

Belirli bir sütuna kopyalamak için , QUERYOUT seçeneği.Aşağıdaki örnek, yalnızca kopyalar Name sütun Sales.Currency tablo bir veri dosyasına. Bu örnek, Windows kimlik doğrulaması kullanıyorsanız ve, çalıştırmakta olduğunuz sunucuyu güvenilir bir bağlantıya sahip varsayar Kullanımıbcp komutu.

Windows komut istemi isteminde girin:

bcp "SELECT Name FROM AdventureWorks.Sales.Currency" queryout Currency.Name.dat -T -c

e.Belirli bir satır bir veri dosyasına kopyalanıyor

Belirli bir satır kopyalamak için , QUERYOUT seçeneği.Aşağıdaki örnek, yalnızca satır adlı ilgili kişi kopyalar. Jarrod Rana gelen AdventureWorks.Person.Contact tablo bir veri dosyası ()Jarrod Rana.dat). Bu örnek, Windows kimlik doğrulaması kullanıyorsanız ve, çalıştırmakta olduğunuz sunucuyu güvenilir bir bağlantıya sahip varsayar Kullanımıbcp komutu.

Windows komut istemi isteminde girin:

bcp "SELECT * FROM AdventureWorks.Person.Contact WHERE FirstName='Jarrod' AND LastName='Rana' "  queryout "Jarrod Rana.dat" -T -c

f.Verileri bir sorgudan bir veri dosyasına kopyalanıyor.

sonuç kümesi kopyalamak için bir Transact-SQL bir veri dosyası, kullanım ifadesine QUERYOUT seçeneği.Aşağıdaki örnek adları kopyalar AdventureWorks.Person.Contact tablonun içine Soyadı sonra da ilk adı, sipariş, Contacts.txt veri dosyası'nı tıklatın. Bu örnek, Windows kimlik doğrulaması kullanıyorsanız ve, çalıştırmakta olduğunuz sunucuyu güvenilir bir bağlantıya sahip varsayar Kullanımıbcp komutu.

Windows komut istemi isteminde girin:

bcp "SELECT FirstName, LastName FROM AdventureWorks.Person.Contact ORDER BY LastName, Firstname" queryout Contacts.txt -c -T

g.Non-XML oluşturma biçim dosyası

Aşağıdaki örnek, bir olmayan XML oluşturur biçim dosyası, Currency.fmt, için Sales.Currency ' de tablo AdventureWorks Veritabanı. Bu örnek, Windows kimlik doğrulaması kullanıyorsanız ve, çalıştırmakta olduğunuz sunucuyu güvenilir bir bağlantıya sahip varsayar Kullanımıbcp komutu.

Windows komut istemi isteminde girin:

bcp AdventureWorks.Sales.Currency format nul -T -c  -f Currency.fmt

Daha fazla bilgi için bkz:Disk XML biçimi dosyaları anlama.

h.Bir XML biçiminde dosyası oluşturma

Aşağıdaki örnek, bir XML oluşturur biçim dosyası adlı Currency.xml için Sales.Currency ' de tablo AdventureWorks Veritabanı. Bu örnek, Windows kimlik doğrulaması kullanıyorsanız ve, çalıştırmakta olduğunuz sunucuyu güvenilir bir bağlantıya sahip varsayar Kullanımıbcp komutu.

Windows komut istemi isteminde girin:

bcp AdventureWorks.Sales.Currency format nul -T -c -x -f Currency.xml

Not

Kullanılacak -x anahtarı kullandığınız olmalıdırKullanımıbcp 9,0 istemci.Nasıl kullanılacağı hakkında bilgi için Kullanımıbcp 9.0 istemci, "Uyarılar" konusuna bakın.

Daha fazla bilgi için bkz:XML biçimi dosyaları anlama.

İ.Bir biçim dosyası alma Kullanımıbcp ile toplu olarak kullanma

Önceden oluşturulmuş kullanılacak biçim dosyası veri örnek alınırken SQL Server, kullanın -f anahtarıylaiçinde seçeneği.Örneğin, aşağıdaki komutu toplu bir veri dosyası içeriğini kopyalar. Currency.dat, içine bir kopyasını Sales.Currency Tablo)Sales.Currency2) daha önce oluşturulmuş'yi kullanarak dosya (Biçimlendir...Currency.xml). Bu örnek, Windows kimlik doğrulaması kullanıyorsanız ve, çalıştırmakta olduğunuz sunucuyu güvenilir bir bağlantıya sahip varsayar Kullanımıbcp komutu.

Windows komut istemi isteminde girin:

bcp AdventureWorks.Sales.Currency2 in Currency.dat -T -f Currency.xml

Not

Dosya, veri dosyası alanları, tablo sütunlarından; örneğin, numarası, sipariş veya veri türleri farklı olduğunda yararlıdır.Daha fazla bilgi için bkz:Biçimi dosyaları, alma veya veri vermek için.

Değişiklik Geçmişi

Güncelleştirilmiş içerik

Güncelleştirilen bcp '[şemaya]' [sahip] için sözdizimi için.

Açıklama güncelleştirildi data_file Parametre. Veri dosyası, en çok 2 içerebilir63 - 1 satır.

Updated the description of -Ffirst_row.

Açıklama güncelleştirildi. code_page.

Bilgileri eklenen -N açıklama bir davranış hakkında bu occurred başına değiştirmeSQL Server 2005 SP1.