Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
dwloader , tablo satırlarını var olan bir tabloya toplu olarak yükleyen bir Paralel Veri Ambarı (PDW) komut satırı aracıdır. Satırları yüklerken, tablonun sonuna tüm satırları ekleyebilir (ekleme modu veya fastappend modu), yeni satırlar ekleyebilir ve var olan satırları güncelleştirebilir (upsert modu) veya yüklemeden önce var olan tüm satırları silebilir ve ardından tüm satırları boş bir tabloya ekleyebilirsiniz (yeniden yükleme modu).
Verileri yükleme işlemi
Kaynak verileri hazırlayın.
Yüklemek istediğiniz kaynak verileri oluşturmak için kendi ETL işleminizi kullanın. Kaynak veriler hedef tablonun şemasıyla eşleşecek şekilde biçimlendirilmelidir. Kaynak verileri bir veya daha fazla metin dosyası halinde depolayın ve metin dosyalarını Yükleme sunucunuzdaki aynı dizine kopyalayın. Yükleme sunucusu hakkında bilgi için bkz. Yükleme Sunucusu Alma ve Yapılandırma
Yükleme seçeneklerini hazırlayın.
Hangi yükleme seçeneklerini kullanacağınıza karar verin. Yükleme seçeneklerini bir yapılandırma dosyasında depolayın. Yapılandırma dosyasını Yükleme sunucunuzdaki yerel bir konuma kopyalayın. dwloader yapılandırma seçenekleri bu konuda açıklanmıştır.
Yük hatası seçeneklerini hazırlayın.
Dwloader'ın yüklenemeyen satırları nasıl işlemesini istediğinize karar verin. Yükü gerçekleştirmek için dwloader önce verileri bir hazırlama tablosuna yükler ve ardından verileri hedef tabloya aktarır. Yükleyici hazırlama tablosuna veri yükledikçe, yüklenemeyen satır sayısını izler. Örneğin, doğru biçimlendirilmemiş satırlar yüklenemiyor. Başarısız satırlar bir reddetme dosyasına kopyalanır. Varsayılan olarak, farklı bir reddetme eşiği belirtmediğiniz sürece ilk reddetmeden sonra yük durdurulr.
dwloader'ı yükleyin.
Yüklü değilse dwloader'ı Yükleme sunucusuna yükleyin.
dwloader'ı çalıştırın.
Yükleme sunucusunda oturum açın ve uygun komut satırı seçenekleriyle yürütülebilir dwloader.exe'yi çalıştırın.
Sonuçları doğrulayın.
Başarısız olan satırlar dosyasını (-Rile belirtilir) denetleyebilirsiniz ve herhangi bir satırın yüklenemediğine bakabilirsiniz. Bu dosya boşsa, tüm satırlar başarıyla yüklenir. dwloader işlemsel olduğundan, herhangi bir adım başarısız olursa (reddedilen satırlar dışında), tüm adımlar ilk durumlarına geri döner.
Sözdizimi
dwloader.exe { -h }
dwloader.exe
{
{ -U login_name -P <password> }
| -W
}
[ -f parameter_file ]
[ -S target_appliance ]
{ -T target_database_name . [ schema ] . table_name }
{ -i source_data_location } [ <source_data_options> ]
{ -R load_failure_file_name } [ <load_failure_options> ]
[ <loading_options> ]
}
<source_data_options> ::=
{
[ -fh number_header_rows ]
[ < variable_length_column_options > | < fixed_width_column_options > ]
[ -D { mdy | myd | ymd | ydm | dmy | dym | custom_date_format } ]
[ -dt datetime_format_file ]
}
<variable_length_column_options> ::=
{
[ -e character_encoding ]
-r row_delimiter
[ -s string_delimiter ]
-t field_delimiter
}
<fixed_width_column_options> ::=
{
-w fixed_width_config_file
[ -e character_encoding ]
-r row_delimiter
}
<load_failure_options> ::=
{
[ -rt { value | percentage } ]
[ -rv reject_value ]
[ -rs reject_sample_value ]
}
<loading_options> ::=
{
[ -d staging_database_name ]
[ -M { append | fastappend | upsert -K merge_column [ ,...n ] | reload } ]
[ -b batchsize ]
[ -c ]
[ -E ]
[ -m ]
[ -N ]
[ -se ]
[ -l ]
}
Arguments
-h
Yükleyiciyi kullanmayla ilgili basit Yardım bilgilerini görüntüler. Yardım yalnızca başka komut satırı parametresi belirtilmediğinde görüntülenir.
-Ulogin_name
Uygun izinlere sahip geçerli bir SQL Server Kimlik Doğrulama oturumu ile yükü gerçekleştirin.
-P<parolası>
SQL Server Kimlik Doğrulaması login_name için parola.
-W
Windows Kimlik Doğrulama'sı kullanın. ( login_name veya parola gerekmez.)
-fparameter_file_name
Komut satırı parametreleri yerine parameter_file_name bir parametre dosyası kullanın.
parameter_file_name , user_name ve parola dışında herhangi bir komut satırı parametresi içerebilir. Komut satırında ve parametre dosyasında bir parametre belirtilirse, komut satırı dosya parametresini geçersiz kılar.
Parametre dosyası, her satırda - ön eki olmadan bir parametre içerir.
Examples:
rt=percentage
rv=25
-Starget_appliance
Yüklenen verileri alacak SQL Server PDW aletini belirtir.
Infiniband bağlantıları içintarget_appliance appliance-name-SQLCTL01< olarak >belirtilir. Bu adlandırılmış bağlantıyı yapılandırmak için bkz. InfiniBand Ağ Bağdaştırıcılarını Yapılandırma.
Ethernet bağlantıları için target_appliance , Denetim düğümü kümesinin IP adresidir.
Belirtilmezse, dwloader varsayılan olarak dwloader yüklendiğinde belirtilen değeri kullanır.
-Ttarget_database_name.[şema].tablo_adı
Hedef tablonun üç bölümlü adı.
-veri_konumu
Yüklenecek bir veya daha fazla kaynak dosyanın konumu. Her kaynak dosya bir metin dosyası veya gzip ile sıkıştırılmış bir metin dosyası olmalıdır. Her gzip dosyasına yalnızca bir kaynak dosya sıkıştırılabilir.
Kaynak dosyayı biçimlendirmek için:
Kaynak dosya, yükleme seçeneklerine uygun olarak biçimlendirilmelidir.
Kaynak dosyadaki her satır, bir tablo satırının verilerini içerir. Kaynak verilerin hedef tablonun şemasıyla eşleşmesi gerekir. Sütun sırası ve veri türleri de eşleşmelidir. Satırdaki her alan, hedef tablodaki bir sütunu temsil eder.
Varsayılan olarak, alanlar değişken uzunluktadır ve sınırlayıcı ile ayrılmıştır. Sınırlayıcı türünü belirtmek için variable_length_column_options< komut satırı seçeneklerini kullanın>. Sabit uzunluklu alanları belirtmek için fixed_width_column_options< komut satırı seçeneklerini kullanın>.
Kaynak veri konumunu belirtmek için:
Kaynak veri konumu bir ağ yolu veya yükleme sunucusundaki bir dizinin yerel yolu olabilir.
Bir dizindeki tüm dosyaları belirtmek için, * joker karakterinin ardından dizin yolunu girin. Yükleyici, kaynak veri konumundaki hiçbir alt dizinden dosya yüklemez. Gzip dosyasında bir dizin mevcut olduğunda yükleyici hataları.
Dizindeki dosyalardan bazılarını belirtmek için karakter ve * joker karakter birleşimini kullanın.
Tek bir komutla birden çok dosya yüklemek için:
Tüm dosyalar aynı dizinde bulunmalıdır.
Dosyalar tüm metin dosyaları, tüm gzip dosyaları veya hem metin hem de gzip dosyalarının birleşimi olmalıdır.
Dosyaların hiçbiri üst bilgi içeremez.
Tüm dosyalar aynı karakter kodlama türünü kullanmalıdır. -e seçeneğine bakın.
Tüm dosyalar aynı tabloya yüklenmelidir.
Tüm dosyalar tek bir dosya gibi birleştirilir ve yüklenir ve reddedilen satırlar tek bir reddetme dosyasına gider.
Examples:
-i \\loadserver\loads\daily\*.gz
-i \\loadserver\loads\daily\*.txt
-i \\loadserver\loads\daily\monday.*
-i \\loadserver\loads\daily\monday.txt
-i \\loadserver\loads\daily\*
-Ryükleme_hatası_dosyası_adı
Yük hataları varsa , dwloader yüklenemeyen satırı ve hata açıklamasını load_failure_file_name adlı bir dosyada depolar. Bu dosya zaten varsa, dwloader varolan dosyanın üzerine yazar.
load_failure_file_name ilk hata oluştuğunda oluşturulur. Tüm satırlar başarıyla yüklenirse load_failure_file_name oluşturulmaz.
-fhsatır_sayısı_başlıklar
source_data_file_name dosyasının başındaki göz ardı edilecek satır (satır) sayısı. Varsayılan değer 0'dır.
<değişken_uzunluklu_sütun_seçenekleri>
source_data_file_name karakterle ayrılmış, değişken uzunlukta sütunları olan bir dosya için seçenekler. Varsayılan olarak , source_data_file_name değişken uzunluktaki sütunlarda ASCII karakterleri içerir.
ASCII dosyaları için, NULL'lar ardışık olarak ayraçlar yerleştirilerek temsil edilir. Örneğin, kanalla ayrılmış bir dosyada ("|"), null değeri "||" ile gösterilir. Virgülle ayrılmış bir dosyada NULL değeri ",," ile gösterilir. Ayrıca - E (--emptyStringAsNull) seçeneği belirtilmelidir. -E hakkında daha fazla bilgi için aşağıya bakın.
-echaracter_encoding
Veri dosyasından yüklenecek veriler için karakter kodlama türünü belirtir. Seçenekler ASCII (varsayılan), UTF8, UTF16 veya UTF16BE'dir; burada UTF16 küçük endiandır ve UTF16BE büyük endiandır. Bu seçenekler büyük/küçük harfe duyarlı değildir.
-tfield_delimiter
Satırdaki her bir alan (sütun) için sınırlayıcı. Alan sınırlayıcısı, bu ASCII kaçış karakterlerinden veya ASCII onaltılık değerlerinden biri veya birkaçı olabilir.
| İsim | Kaçış Karakteri | Onaltılık Karakter |
|---|---|---|
| Tab | \t | 0x09 |
| Satır başı (CR) | \r | 0x0d |
| Satır besleme (LF) | \n | 0x0a |
| CRLF | \r\n | 0x0d0x0a |
| Virgül | ',' | 0x2c |
| Çift tırnak | \" | 0x22 |
| Tek tırnak | \' | 0x27 |
Komut satırında kanal karakterini belirtmek için, "|" çift tırnak içine alın. Bu, komut satırı ayrıştırıcısı tarafından yanlış yorumlanmayı önler. Diğer karakterler tek tırnak içine alınır.
Examples:
-t "|"
-t ' '
-t 0x0a
-t \t
-t '~|~'
-rsatır_ayırıcı
Kaynak veri dosyasının her satırı için sınırlayıcı. Satır sınırlayıcısı bir veya daha fazla ASCII değeridir.
Sınırlayıcı olarak satır başı (CR), satır besleme (LF) veya sekme karakteri belirtmek için kaçış karakterlerini (\r, \n, \t) veya onaltılık değerlerini (0x0A, 0x0D, 0x09) kullanabilirsiniz. Diğer özel karakterleri sınırlayıcı olarak belirtmek için hexadecimal değerlerini kullanın.
CR+LF örnekleri:
-r \r\n
-r 0x0d0x0a
CR örnekleri:
-r \r
-r 0x0d
LF örnekleri:
-r \n
-r 0x0a
Unix için bir LF gereklidir. Windows için cr gereklidir.
-sstring_delimiter
Metinle ayrılmış giriş dosyasının dize veri türü alanı için sınırlayıcı. Dize sınırlayıcısı bir veya daha fazla ASCII değeridir. Karakter (örneğin, -s *) veya onaltılık değer (örneğin, çift tırnak için -s 0x22) olarak belirtilebilir.
Examples:
-S*
-s 0x22
< sabit_genişlik_sütun_seçenekleri>
Sabit uzunlukta sütunları olan bir kaynak veri dosyası için seçenekler. Varsayılan olarak , source_data_file_name değişken uzunluktaki sütunlarda ASCII karakterleri içerir.
-e UTF8 olduğunda sabit genişlikli sütunlar desteklenmez.
-wfixed_width_config_file
Her sütundaki karakter sayısını belirten yapılandırma dosyasının yolu ve adı. Her alan belirtilmelidir.
Bu dosya Yükleme sunucusunda bulunmalıdır. Yol bir UNC, göreli veya mutlak yol olabilir. fixed_width_config_file içindeki her satır, bir sütunun adını ve bu sütunun karakter sayısını içerir. Aşağıda gösterildiği gibi sütun başına bir satır vardır ve dosyadaki sıranın hedef tablodaki sırayla eşleşmesi gerekir:
Column_name=karakter_sayısı
column_name=karakter_sayısı
Örnek sabit genişlikli yapılandırma dosyası:
SalesCode=3
SalesID=10
source_data_file_name örnek satırlar:
230Shirts0056
320Towels1356
Önceki örnekte, ilk yüklenen satırda SalesCode='230' ve SalesID='Shirts0056' bulunur. İkinci yüklenen satırda SalesCode='320' ve SaleID='Towels1356' bulunur.
Sabit genişlik modunda öndeki ve sondaki boşlukları veya veri türü dönüştürmeyi işleme hakkında bilgi için bkz. dwloader için veri türü dönüştürme kuralları.
-echaracter_encoding
Veri dosyasından yüklenecek veriler için karakter kodlama türünü belirtir. Seçenekler ASCII (varsayılan), UTF8, UTF16 veya UTF16BE'dir; burada UTF16 küçük endiandır ve UTF16BE büyük endiandır. Bu seçenekler büyük/küçük harfe duyarlı değildir.
-e UTF8 olduğunda sabit genişlikli sütunlar desteklenmez.
-rsatır_ayırıcı
Kaynak veri dosyasının her satırı için sınırlayıcı. Satır sınırlayıcısı bir veya daha fazla ASCII değeridir.
Sınırlayıcı olarak satır başı (CR), satır besleme (LF) veya sekme karakteri belirtmek için kaçış karakterlerini (\r, \n, \t) veya onaltılık değerlerini (0x0A, 0x0D, 0x09) kullanabilirsiniz. Diğer özel karakterleri sınırlayıcı olarak belirtmek için hexadecimal değerlerini kullanın.
CR+LF örnekleri:
-r \r\n
-r 0x0d0x0a
CR örnekleri:
-r \r
-r 0x0d
LF örnekleri:
-r \n
-r 0x0a
Unix için bir LF gereklidir. Windows için cr gereklidir.
-D { ymd | ydm | mdy | myd | dmy | dym | custom_date_format }
Giriş dosyasındaki tüm tarih saat alanları için ay (m), gün (d) ve yıl (y) sırasını belirtir. Varsayılan sıra ymd'dir. Aynı kaynak dosya için birden çok sıra biçimi belirtmek için -dt seçeneğini kullanın.
ymd | dmy
ydm ve dmy aynı giriş biçimlerine izin verir. Her ikisi de yılın tarihin başında veya sonunda olmasını sağlar. Örneğin, hem ydm hem de dmy tarih biçimleri için giriş dosyasında 2013-02-03 veya 02-03-2013 olabilir.
YDM
ydm olarak biçimlendirilmiş girişi yalnızca datetime ve smalldatetime veri türü sütunlarına yükleyebilirsiniz. ydm değerlerini datetime2, date veya datetimeoffset veri türündeki bir sütuna yükleyemezsiniz.
Agy
mdy, ay<alan><günü><virgül><yılına>< izin verir>.
1 Ocak 1975 için mdy giriş verileri örnekleri:
1 Ocak 1975
1 Ocak 75
1 Ocak 1975
01011975
Myd
04 Mart 2010 için giriş dosyası örnekleri: 03-2010-04, 3/2010/4
dym (Please provide additional context or clarification if this stands for a specific technical term that requires translation or interpretation.)
04 Mart 2010 için giriş dosyası örnekleri: 04-2010-03, 4/2010/3
özel_tarih_formatı
custom_date_format özel bir tarih biçimidir (örn. AA/gg/yyyy) ve yalnızca geriye dönük uyumluluk için dahil edilir. dwloader özel tarih biçimini zorunlu kılmaz. Bunun yerine, özel bir tarih biçimi belirttiğinizde , dwloader bunu ilgili ymd, ydm, mdy, myd, dym veya dmy ayarına dönüştürür.
Örneğin, -D AA/gg/yyyy belirtirseniz, dwloader tüm tarih girişinin önce ay, sonra gün ve sonra yıl (mdy) ile sıralanmasını bekler. Özel tarih biçiminin belirttiği 2 karakterlik ay, 2 basamaklı gün ve 4 basamaklı yıl formatlarını uygulamaz. Tarih biçimi -D AA/gg/yyyy: 01/02/2013, Ocak.02.2013, 02.02.2013, 2/1/2013 olduğunda giriş dosyasında tarihlerin biçimlendirilme yollarından bazı örnekler aşağıda verilmiştir
Daha kapsamlı biçimlendirme bilgileri için bkz. dwloader için veri türü dönüştürme kuralları.
-dttarih_saat_format_dosyası
Her tarih saat biçimi datetime_format_file adlı bir dosyada belirtilir. Komut satırı parametrelerinin aksine, boşluk içeren dosya parametreleri çift tırnak içine alınmamalıdır. Verileri yüklerken datetime biçimini değiştiremezsiniz. Hedef tablodaki kaynak veri dosyası ve buna karşılık gelen sütun aynı biçime sahip olmalıdır.
Her satır, hedef tablodaki bir sütunun adını ve tarih saat biçimini içerir.
Examples:
LastReceiptDate=ymd
ModifiedDate=dym
-dstaging_database_name
Hazırlama tablosunu içerecek veritabanı adı. Varsayılan değer, hedef tablonun veritabanı olan -T seçeneğiyle belirtilen veritabanıdır. Hazırlama veritabanı kullanma hakkında daha fazla bilgi için bkz. Hazırlama Veritabanı Oluşturma.
-Myükleme_modu_seçeneği
Verilerin eklenip eklenmeyeceğini, güncellenip güncellenmeyeceğini veya yeniden yüklenip yüklenmeyeceğini belirtir. Varsayılan mod eklemedir.
append
Yükleyici, hedef tablodaki mevcut satırların sonuna satır ekler.
hızlıekleme
Yükleyici, hedef tablodaki mevcut satırların sonuna geçici bir tablo kullanmadan satırları doğrudan ekler. fastappend için çoklu işlem (-m) seçeneği gerekir. Fastappend kullanılırken hazırlama veritabanı belirtilemez. Fastappend ile geri alma yoktur, bu da başarısız veya durdurulan bir yükten kurtarma işleminin kendi yük işleminiz tarafından işlenmesi gerektiği anlamına gelir.
upsert -Kmerge_column [ ,... n ]
Yükleyici, var olan satırları güncelleştirmek ve yeni satırlar eklemek için SQL Server Merge deyimini kullanır.
-K seçeneği, birleştirmeyi temel alan sütunu veya sütunları belirtir. Bu sütunlar, benzersiz bir satırı temsil etmesi gereken bir birleştirme anahtarı oluşturur. Birleştirme anahtarı hedef tabloda varsa, satır güncelleştirilir. Birleştirme anahtarı hedef tabloda yoksa, satır eklenir.
Karma dağıtılmış tablolar için birleştirme anahtarının dağıtım sütunu olması veya içermesi gerekir.
Çoğaltılan tablolar için birleştirme anahtarı bir veya daha fazla sütunun birleşimidir. Bu sütunlar uygulamanın gereksinimlerine göre belirtilir.
Birden çok sütun, ya boşluk olmadan virgülle ayrılmalı, ya da boşluklarla birlikte virgülle ayrılmış ve ardından tek tırnak içine alınmalıdır.
Kaynak tablodaki iki satır eşleşen birleştirme anahtarı değerlerine sahipse, ilgili satırları aynı olmalıdır.
Yeniden yükle
Yükleyici, kaynak verileri eklemeden önce hedef tabloyu kısaltır.
-bbatchsize
Yalnızca Microsoft Desteği tarafından kullanılması önerilen batchsize, DMS'nin İşlem düğümlerindeki SQL Server örneklerine yaptığı toplu kopya işlemi için SQL Server toplu iş boyutudur.
Batchsize belirtildiğinde, SQL Server PDW her yük için dinamik olarak hesaplanan toplu iş yükü boyutunu geçersiz kılar.
SQL Server 2012 PDW'den başlayarak, Denetim düğümü varsayılan olarak her yük için dinamik olarak bir toplu iş boyutu hesaplar. Bu otomatik hesaplama bellek boyutu, hedef tablo türü, hedef tablo şeması, yük türü, dosya boyutu ve kullanıcının kaynak sınıfı gibi çeşitli parametreleri temel alır.
Örneğin, yük modu FASTAPPEND ise ve tabloda kümelenmiş columnstore dizini varsa, SQL Server PDW varsayılan olarak 1.048.576 satırlık toplu iş boyutunu kullanmayı dener. Böylece satır grupları KAPATILMIŞ olur ve delta deposuna gitmeden doğrudan columnstore'a yüklenir. Bellek 1.048.576 toplu iş boyutuna izin vermiyorsa, dwloader daha küçük bir toplu iş boyutu seçer.
Yük türü FASTAPPEND ise, batchsize verileri tabloya yüklemek için geçerlidir, aksi takdirde batchsize hazırlama tablosuna veri yüklemeye uygulanır.
<reject_options>
Yükleyicinin izin verecek yük hatalarının sayısını belirleme seçeneklerini belirtir. Yük hataları eşiği aşarsa, yükleyici durur ve herhangi bir satır işlemez.
-rt { değer | yüzde }
-rvreject_value seçeneğindeki -reject_value sabit satır sayısı mı (değer) yoksa hata oranı mı (yüzde) olduğunu belirtir. Varsayılan değerdir.
Yüzde seçeneği, -rs seçeneğine göre aralıklarla gerçekleşen gerçek zamanlı bir hesaplamadır.
Örneğin, Yükleyici 100 satır yüklemeyi denerse ve 25 başarısız olursa ve 75 başarılı olursa, hata oranı 25%olur.
-rvreddetme_değeri
Yükleme durdurulmadan önce izin verilecek satır reddetme sayısını veya yüzdesini belirtir.
-rt seçeneği, reject_value'ın satır sayısına mı yoksa satır yüzdesine mi atıfta bulunduğunu belirler.
Varsayılan reject_value 0'dır.
-rt değerle kullanıldığında, reddedilen satır sayısı reject_value aşıldığında yükleyici yükü durdurur.
-rt yüzdesiyle kullanıldığında, yükleyici yüzdeyi aralıklarla hesaplar (-rs seçenek). Bu nedenle, başarısız satırların yüzdesi reject_value aşabilir.
-rsreject_sample_size
Artımlı yüzde denetimlerini belirtme seçeneğiyle birlikte -rt percentage kullanılır. Örneğin, reject_sample_size 1000 ise Yükleyici, 1000 satır yüklemeyi denedikten sonra başarısız olan satırların yüzdesini hesaplar. Her ek 1000 satırı yüklemeyi denedikten sonra başarısız olan satırların yüzdesini yeniden hesaplar.
-c
Char, nchar, varchar ve nvarchar alanlarının sol ve sağ taraflarından boşluk karakterlerini kaldırır. Yalnızca boşluk karakterleri içeren her alanı boş dizeye dönüştürür.
Examples:
' ', '' olarak kısaltılır
' abc ', 'abc' olarak kısaltılır
-c -E ile kullanıldığında, önce -E işlemi gerçekleşir. Yalnızca boşluk karakterleri içeren alanlar boş dizeye dönüştürülür, NULL'a dönüştürülmez.
-E
Boş dizeleri NULL'a dönüştürün. Varsayılan değer, bu dönüştürmeleri gerçekleştirmemektir.
-m
Yüklemenin ikinci aşaması için çoklu işlem modunu kullanın; hazırlama tablosundan dağıtılmış bir tabloya veri yüklerken.
-m ile SQL Server PDW, veri yüklerini paralel olarak gerçekleştirir ve işlemleri tamamlar. Bu, varsayılan yükleme modundan çok daha hızlı çalışır, ancak işlem açısından güvenli değildir.
-m olmadan, SQL Server PDW her İşlem düğümündeki dağıtımlar arasında ve İşlem düğümleri arasında eşzamanlı olarak yükleri gerçekleştirir ve işler. Bu yöntem çok işlemli moddan daha yavaştır, ancak işlem açısından güvenlidir.
-mekleme, yeniden yükleme ve upsert için isteğe bağlıdır.
fastappend için -m gereklidir.
-m çoğaltılmış tablolarla kullanılamaz.
-m yalnızca ikinci yükleme aşamasına uygulanır. İlk yükleme aşamasına uygulanmaz; bu, hazırlama tablosuna veri yükleme işlemini ifade eder.
Çoklu işlem modunda geri alma işlemi yoktur, bu da başarısız veya durdurulmuş bir yükü kurtarma işleminin kendi yük işleminiz tarafından yönetilmesi gerektiği anlamına gelir.
Veri kaybı olmadan kurtarabilmeniz için -m dosyasını yalnızca boş bir tabloya yüklerken kullanmanızı öneririz. Bir yük hatasından kurtarmak için: Hedef tabloyu bırakın, yükleme sorununu çözün, hedef tabloyu yeniden oluşturun ve yüklemeyi yeniden çalıştırın.
-N
Hedef aletin güvenilir bir yetkiliden geçerli bir SQL Server PDW sertifikasına sahip olduğunu doğrulayın. Verilerinizin bir saldırgan tarafından ele geçirilmediğinden ve yetkisiz bir konuma gönderilmediğinden emin olmak için bunu kullanın. Sertifikanın alete zaten yüklenmiş olması gerekir. Sertifikayı yüklemenin desteklenen tek yolu, alet yöneticisinin Configuration Manager aracını kullanarak sertifikayı yüklemesidir. Aletin yüklü güvenilir bir sertifikası olup olmadığından emin değilseniz alet yöneticinize sorun.
-Se
Boş dosyaları yüklemeyi atlayın. Bu, boş gzip dosyalarının sıkıştırmasını kaldırmayı da atlar.
-l
CU7.4 güncelleştirmesi ile kullanılabilir, yüklenebilecek en fazla satır uzunluğunu (bayt cinsinden) belirtir. Geçerli değerler 32768 ile 33554432 arasındaki tamsayılardır. Yalnızca büyük satırları (32 KB'tan büyük) yüklemek için gerektiğinde kullanın, bu işlem istemcide ve sunucuda daha fazla bellek ayırır.
Dönüş Kodu Değerleri
0 (başarı) veya diğer tamsayı değeri (hata)
Komut penceresinde veya toplu iş dosyasında, dönüş kodunu görüntülemek için kullanın errorlevel . Örneğin:
dwloader
echo ReturnCode=%errorlevel%
if not %errorlevel%==0 echo Fail
if %errorlevel%==0 echo Success
PowerShell kullanırken kullanın $LastExitCode.
Permissions
Hedef tabloda YÜK izni ve ilgili izinler (INSERT, UPDATE, DELETE) gerektirir. Hazırlama veritabanında CREATE izni (geçici tablo oluşturmak için) gerektirir. Hazırlama veritabanı kullanılmazsa hedef veritabanında CREATE komutu için izin gerekir.
Genel Açıklamalar
dwloader ile yüklenirken veri türü dönüştürmeleri hakkında bilgi için bkz. dwloader için veri türü dönüştürme kuralları.
Bir parametre bir veya daha fazla boşluk içeriyorsa, parametreyi çift tırnak içine alın.
Yükleyiciyi yüklü konumundan çalıştırmanız gerekir. dwloader yürütülebilir dosyası aletle önceden yüklenmiştir ve C:\Program Files\Microsoft SQL Server Veri Ambarı\DWLoader dizininde bulunur.
Parametre dosyasında (-f seçenek) belirtilen bir parametreyi komut satırı parametresi olarak belirterek geçersiz kılabilirsiniz.
Yükleyici'nin birden çok örneğini aynı anda çalıştırabilirsiniz. Yükleyici örneği sayısı üst sınırı önceden yapılandırılmıştır ve değiştirilemez.
Yüklenen veriler, alette kaynak konuma göre daha fazla veya daha az alan gerektirebilir. Disk tüketimini tahmin etmek için veri alt kümeleri ile test içeri aktarma işlemleri gerçekleştirebilirsiniz.
dwloader bir işlem süreci olsa ve hata durumunda düzgün bir şekilde geri alınabilse de, toplu yükleme işlemi başarıyla tamamlandıktan sonra geri alınması mümkün değildir. Etkin bir dwloader işlemini iptal etmek için CTRL+C yazın.
Sınırlamalar ve Kısıtlamalar
Eşzamanlı olarak gerçekleşen tüm yüklerin toplam boyutu, veritabanı için LOG_SIZE'den küçük olmalıdır ve tüm eşzamanlı yüklerin toplam boyutunun LOG_SIZE 50% altında olmasını öneririz. Bu boyut sınırlamasına ulaşmak için büyük yükleri birden çok toplu iş olarak bölebilirsiniz. LOG_SIZE hakkında daha fazla bilgi için bkz . CREATE DATABASE
Tek bir yük komutuyla birden çok dosya yüklenirken, reddedilen tüm satırlar aynı reddetme dosyasına yazılır. Reddetme dosyası, hangi giriş dosyasının reddedilen her satırı içerdiğini göstermez.
Boş dize sınırlayıcı olarak kullanılmamalıdır. Boş bir dize satır sınırlayıcısı olarak kullanıldığında yük başarısız olur. Sütun sınırlayıcısı olarak kullanıldığında, yük sınırlayıcıyı yoksayar ve sütun sınırlayıcısı olarak varsayılan "|" kullanmaya devam eder. Dize sınırlayıcısı olarak kullanıldığında, boş dize yoksayılır ve varsayılan davranış uygulanır.
Kilitleme Davranışı
dwloader kilitleme davranışı load_mode_option bağlı olarak değişir.
append - Ekleme önerilen ve en yaygın seçenektir. Eklemek, verileri bir hazırlama tablosuna ekler. Kilitleme aşağıda ayrıntılı olarak açıklanmıştır.
hızlı ekleme - Hızlı ekleme, doğrudan ExclusiveUpdate tablo kilidi alarak son tabloya yüklenir ve hazırlık tablosu kullanmayan tek moddur.
reload - Yeniden yükleme, bir hazırlama tablosuna veri yükler ve hem hazırlama tablosunda hem de son tabloda özel kilit gerektirir. Eşzamanlı işlemler için yeniden yükleme önerilmez.
upsert - Upsert bir hazırlama tablosuna veri yükler ve hazırlama tablosundan son tabloya birleştirme işlemi gerçekleştirir. Upsert, son tabloda özel kilitler gerektirmez. Upsert kullanılırken performans değişebilir. Ortamınızdaki davranışı test edin.
Kilitleme Davranışı
Ekleme modu kilitleme
Append, çok işlem modunda (-m bağımsız değişkeni kullanılarak) çalıştırılabilir, ancak işlem güvenli değildir. Bu nedenle ekleme işlemi işlemsel bir işlem olarak kullanılmalıdır (-m bağımsız değişkeni kullanılmamalıdır). Ne yazık ki son INSERT-SELECT işlemi sırasında işlem modu şu anda çoklu işlem modundan altı kat daha yavaştır.
Ekleme modu verileri iki aşamada yükler. Birinci aşama, kaynak dosyadaki verileri aynı anda bir hazırlama tablosuna yükler (parçalanma oluşabilir). İkinci aşama, hazırlama tablosundan son tabloya veri yükler. İkinci aşama, bir INSERT INTO... SELECT WITH (TABLOCK) işlemi gerçekleştirir. Aşağıdaki tabloda, nihai tablo üzerindeki kilitleme davranışı ve ekleme modu kullanılırken kaydetme davranışı gösterilmektedir:
| Tablo Türü | Çoklu işlem Mod (-m) |
Tablo Boş | Eşzamanlılık Desteklenir | Ağaç kesimi |
|---|---|---|---|---|
| Yığın | Yes | Yes | Yes | Minimal |
| Yığın | Yes | Hayı | Yes | Minimal |
| Yığın | Hayı | Yes | Hayı | Minimal |
| Yığın | Hayı | Hayı | Hayı | Minimal |
| Cl | Yes | Yes | Hayı | Minimal |
| Cl | Yes | Hayı | Yes | Full |
| Cl | Hayı | Yes | Hayı | Minimal |
| Cl | Hayı | Hayı | Yes | Full |
Yukarıdaki tabloda, dwloader'ın ekleme modunu kullanarak, çok işlemli bayrakla veya olmadan, bir yığına veya kümelenmiş dizin (CI) tablosuna ve boş veya boş olmayan bir tabloya nasıl yüklendiği gösterilmektedir. Bu tür her yük bileşiminin kilitleme ve günlüğe kaydetme davranışı tabloda görüntülenir. Örneğin, (2. aşama) ekleme moduyla çok işlemli mod olmadan kümelenmiş bir dizine ve boş bir tabloya yükleme yapıldığında, PDW'nin tabloda özel kilit oluşturması ve günlüğe kaydetmenin minimum düzeyde olması sağlanır. Bu, bir müşterinin (2. aşama) yüklemeyi ve boş bir tabloya eşzamanlı olarak sorgu göndermeyi gerçekleştiremeyeceği anlamına gelir. Ancak, boş olmayan bir tabloya aynı yapılandırmayla veri yüklenirken, PDW tabloda özel bir kilit vermez ve eşzamanlı işlemler mümkündür. Ne yazık ki tam günlük kaydı gerçekleşir, bu da işlemi yavaşlatır.
Örnekler
A. Basit dwloader örneği
Aşağıdaki örnekte Yükleyici'nin başlatılması ve yalnızca gerekli seçeneklerin seçili olması gösterilmektedir. Diğer seçenekler, loadparamfile.txtgenel yapılandırma dosyasından alınır.
SQL Server Kimlik Doğrulaması'nın kullanıldığı örnek.
--Load over Ethernet
dwloader.exe -S 10.192.63.148 -U mylogin -P 123jkl -f /configfiles/loadparamfile.txt
--Load over InfiniBand to appliance named MyPDW
dwloader.exe -S MyPDW-SQLCTL01 -U mylogin -P 123jkl -f /configfiles/loadparamfile.txt
Windows Kimlik Doğrulaması'nı kullanan örnek.
--Load over Ethernet
dwloader.exe -S 10.192.63.148 -W -f /configfiles/loadparamfile.txt
--Load over InfiniBand to appliance named MyPDW
dwloader.exe -S MyPDW-SQLCTL01 -W -f /configfiles/loadparamfile.txt
Kaynak dosya ve hata dosyası için bağımsız değişkenleri kullanma örneği.
--Load over Ethernet
dwloader.exe -U mylogin -P 123jkl -S 10.192.63.148 -i C:\SQLData\AWDimEmployees.csv -T AdventureWorksPDW2012.dbo.DimEmployees -R C:\SQLData\LoadErrors
B. AdventureWorks Tablosuna Veri Yükleme
Aşağıdaki örnek, Verileri AdventureWorksPDW2012'ye yükleyen bir toplu iş betiğinin bir parçasıdır. Betiğin tamamını görüntülemek için AdventureWorksPDW2012 yükleme paketiyle birlikte gelen aw_create.bat dosyasını açın.
Aşağıdaki betik parçacığı, DimAccount ve DimCurrency tablolarına veri yüklemek için dwloader kullanır. Bu script bir Ethernet adresi kullanıyor. InfiniBand kullanıyorsa, sunucu <appliance_name>-SQLCTL01 olacaktır.
set server=10.193.63.134
set user=<MyUser>
set password=<password>
set schema=AdventureWorksPDW2012.dbo
set load="C:\Program Files\Microsoft SQL Server Parallel Data Warehouse\100\dwloader.exe"
set mode=reload
--Loads data into the AdventureWorksPDW2012.dbo.DimAccount table
--Source data is stored in the file DimAccount.txt,
--which is in the current directory.
set t1=DimAccount
%load% -S %server% -E -M %mode% -e Utf16 -i .\%t1%.txt -T %schema%.%t1% -R %t1%.bad -t "|" -r \r\n -U %user% -P %password%
--Loads data from the DimCurrency.txt file into
--AdventureWorksPDW2012.dbo.DimCurrency
set t1=DimCurrency
%load% -S %server% -E -M %mode% -e Utf16 -i .\%t1%.txt -T %schema%.%t1% -R %t1%.bad -t "|" -r \r\n -U %user% -P %password%
DimAccount Tablosu için DDL aşağıdadır.
CREATE TABLE DimAccount(
AccountKey int NOT NULL,
ParentAccountKey int,
AccountCodeAlternateKey int,
ParentAccountCodeAlternateKey int,
AccountDescription nvarchar(50),
AccountType nvarchar(50),
Operator nvarchar(50),
CustomMembers nvarchar(300),
ValueType nvarchar(50),
CustomMemberOptions nvarchar(200))
with (CLUSTERED INDEX(AccountKey),
DISTRIBUTION = REPLICATE);
Aşağıda, DimAccount tablosuna yüklenecek verileri içeren DimAccount.txtveri dosyası örneği verilmiştir.
--Sample of data in the DimAccount.txt load file.
1||1||Balance Sheet||~||Currency|
2|1|10|1|Assets|Assets|+||Currency|
3|2|110|10|Current Assets|Assets|+||Currency|
4|3|1110|110|Cash|Assets|+||Currency|
5|3|1120|110|Receivables|Assets|+||Currency|
6|5|1130|1120|Trade Receivables|Assets|+||Currency|
7|5|1140|1120|Other Receivables|Assets|+||Currency|
8|3|1150|110|Allowance for Bad Debt|Assets|+||Currency|
9|3|1160|110|Inventory|Assets|+||Currency|
10|9|1162|1160|Raw Materials|Assets|+||Currency|
11|9|1164|1160|Work in Process|Assets|+||Currency|
12|9|1166|1160|Finished Goods|Assets|+||Currency|
13|3|1170|110|Deferred Taxes|Assets|+||Currency|
C. Komut Satırından Veri Yükleme
Örnek B'deki betik, aşağıdaki örnekte gösterildiği gibi komut satırına tüm parametreler girilerek değiştirilebilir.
C:\Program Files\Microsoft SQL Server Parallel Data Warehouse\100\dwloader.exe -S <Control node IP> -E -M reload -e UTF16 -i .\DimAccount.txt -T AdventureWorksPDW2012.dbo.DimAccount -R DimAccount.bad -t "|" -r \r\n -U <login> -P <password>
Komut satırı parametrelerinin açıklaması:
C:\Program Files\Microsoft SQL Server Parallel Data Warehouse\100\dwloader.exe , dwloader.exeyüklü konumudur.
-S'nin ardından Denetim düğümünün IP adresi geliyor.
-E boş dizelerin NULL olarak yüklenmesini belirtir.
-M yeniden yükleme, kaynak verileri eklemeden önce hedef tablonun içeriğini temizleyip yeniden başlatmayı belirtir.
-e UTF16 , kaynak dosyanın küçük endian karakter kodlama türünü kullandığını gösterir.
-i .\DimAccount.txt , verilerin geçerli dizinde bulunan DimAccount.txt adlı bir dosyada olduğunu belirtir.
-T AdventureWorksPDW2012.dbo.DimAccount verileri alacak tablonun 3 bölümlü adını belirtir.
-R DimAccount.bad , yüklenemeyen satırların DimAccount.bad adlı bir dosyaya yazılacağını belirtir.
-t "|" , DimAccount.txtgiriş dosyasındaki alanların kanal karakteriyle ayrıldığını gösterir.
-r \r\n DimAccount.txt içindeki her satırın bir satır başı ve satır besleme karakteriyle bittiğini belirtir.
-U <login_name> -P <parolası> , yüklemeyi gerçekleştirme izinlerine sahip oturum açma için oturum açma bilgilerini ve parolayı belirtir.