Aracılığıyla paylaş


Tablo düzey kilitlemeyi ile paralel veri alınıyor

Microsoft SQL Server birden çok istemci için izin verir. Toplu alma veri paralel unindexed tek içine tablo.Bu işlem, toplu alma işlemlerinin performansını iyileştirebilir.Paralel bir veri alma, tüm üç toplu alma komutları tarafından desteklenir: Kullanımıbcp, TOPLU EKLEMEve INSERT... SEÇİN * GELEN openrowset(... TOPLU).

Not

ODBC tabanlı veya SQL OLE DB-based Apı'leri kullanan uygulamalar, paralel verileri tek bir yükleme gerçekleştirebilirsiniz yalnızca tablo.Any application, including the bcp utility, that is based on the DB-Library client library supplied with Microsoft SQL Server version 6.5 or earlier cannot participate in parallel data loads into an instance of SQL Server.

TABLOCK seçeneği/ipucu belirtmezseniz, birden çok eşzamanlı toplu alma akışı kilitlerin adresindeki bir taneciklik tablo düzeyinin altına alın.Verileri dağıtım bağlı olarak, aynı anda toplu yükleme kuvveti akıp blok birbirine.Bu nedenle, veri paralel bir Sıralanmayan alma toplu tablo genellikle TABLOCK ile gerçekleştirilir.

Ne zaman toplu olarak paralel veri örnek alma SQL Server TABLOCK kullanarak, aşağıdakileri göz önünde bulundurun:

  • Paralel veri almak için basit bir senaryo verileri bir Sıralanmayan yükleniyor tablo (bir Öbek).

  • Tablo, dizin varsa, toplu alma işlemi için TABLOCK seçeneğini belirleyin.Daha fazla bilgi için bkz:Kilitleme davranışı için Bulk ımport denetleme.

    Not

    Ne zaman, üzerinde dizin mevcut bir tablo, TABLOCK seçeneğini kullanarak bir paralel yükleme işlemi gerçekleştiremiyor.Ayrıca, TABLOCK belirtilmezse, eş zamanlı iş parçacıkları diğer engeller.Bir toplu alma işlemi önce gelen dizinleri kaldırılıyor dikkate tablo.Indeksleri kaldır tutmak konusunda daha fazla bilgi için bkz: En iyi duruma getirme hakkında yönergeler toplu alma.

  • Istemciler arasında istemcileri gibi aynı sayıda veri dosyalarının alınmak üzere verileri bölün.Istemcilerin her birini yerleştirin.

    En iyi yöntem   Işlemcinin en verimli bir şekilde kullanmak için , verileri eşit istemciler arasında dağıtın.örnek birden çok istemcilerinden paralel almak istiyorsanız, veri dosyalarının boyutunu benzer olduğundan emin olun SQL Server. Aksi halde, hafifçe yüklenen istemci iş parçacığı erken bitirme ve bu nedenle, bu istemcinin CPU inefficiently kullanın.

  • Her istemci için belirtilen toplu iş boyutu en yüksek performansı elde etmek için , istemcinin veri dosyasının boyutu ile aynı olmalıdır.Daha fazla bilgi için bkz:Toplu işlemleri için Bulk ımport yönetme.

Verileri tabloya alınan toplu nakledildikten sonra gerekli tüm dizinler gibi oluşturabilirsiniz:

  1. Her bir kümelenmiş dizin, tek bir istemciden oluşturun.Daha fazla bilgi için bkz:Kümelenmiş dizin oluşturma.

  2. Kümelenmemiş dizin oluşturun.Bu, aynı anda farklı istemcilerinden oluşturulabilir.Daha fazla bilgi için bkz:Kümelenmemiş dizin oluşturma.

TABLOCK belirtmezseniz, hedef dizin sayısı ne olursa olsun paralel içeri aktarma verilerinin toplu.Ancak bu durumda, toplu en iyi duruma getirme mümkün değildir ve kilitleri tek tek satırlara veya sayfaları edinirken engelleme karşılaşabilir.