Aracılığıyla paylaş


Tablo düzeyi kilitlemeyi ile paralel veri alma

Microsoft SQL Server allows multiple clients to bulk import data in parallel into a single unindexed table.Bu toplu alma işlemlerinin performansını iyileştirebilir.Paralel veri alma tüm üç toplu alma komutları tarafından desteklenir: BCP, bulk INSERTve Ekle...SEÇİN * from openrowset(bulk...).

Not

odbc veya sql ole db tabanlı API'leri kullanan uygulamalara paralel veri 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ışı kilit taneciklik aşağıdaki at Al tablo düzeyi.Eşzamanlı toplu yükleme veri dağıtımına bağlı gelebilir akıp blok birbirlerine.Bu nedenle, Sıralanmayan bir paralel veri alma toplu tablo genellikle tablock ile gerçekleştirilir.

Ne zaman örnek paralel veri alma toplu olarak SQL Server tablock kullanarak aşağıdakileri dikkate alın:

  • Paralel veri alma için en basit senaryo veri Sıralanmayan bir yükleme tablo (bir öbek).

  • Tablo dizin varsa, toplu alma işlemi için tablock seçeneğini belirtin.Daha fazla bilgi için bkz: İçin toplu almayı kilitleme davranışı denetleme.

    Not

    Ne zaman var dizinler üzerinde bir tablo, tablock seçeneğini kullanarak bir paralel yükleme işlemi gerçekleştiremiyor.Ayrıca, aynı anda iş parçacıkları blok birbirine ta,blok belirtilmemiş.Bir toplu alma işlemi önce dizin kaldırma düşünün tablo.Tutmak veya dizinleri kaldırma konusunda daha fazla bilgi için bkz: Toplu almayı en iyi duruma getirme yönergeleri.

  • İstemciler gibi istemcileri arasında aynı sayıda veri dosyalarını aktarılacak verileri bölün.İstemcilerin her birini koyun.

    En iyi yöntemien verimli bir şekilde kullanmak için veri istemcileri arasında eşit şekilde dağıtın.örnek birden çok istemcilerinden paralel almak istiyorsanız, veri dosyalarına benzer boyutta olduğundan emin olun SQL Server.Aksi takdirde, hafifçe yüklenen istemci iş parçacığı erken bitirme ve bu nedenle, bu istemcinin cpu kullanamayabilir.

  • Her istemci için belirtilen toplu iş boyutu maksimum performans elde etmek için istemcinin veri dosyasının boyutu ile aynı olmalıdır.Daha fazla bilgi için bkz: İçin toplu almayı toplu işlemleri yönetme.

' A içe aktarılan toplu veri kaldıktan sonra tablo, gerekli tüm dizinler aşağıdaki gibi oluşturabilirsiniz:

  1. Tek bir, her kümelenmiş dizin oluşturmak istemci.Daha fazla bilgi için bkz: Kümelenmiş dizinler oluşturma.

  2. Kümelenmemiş dizinleri oluşturun.Bunlar farklı istemcilerden aynı anda oluşturulabilir.Daha fazla bilgi için bkz: Kümelenmemiş dizinleri oluşturma.

tablock belirtmezseniz yapabilirsiniz toplu alma veri paralel hedef dizin sayısı ne olursa olsun.Ancak bu durum, toplu en iyi duruma getirmeleri mümkün değildir ve kilitleri tek tek satırlar veya sayfaları edinirken engelleyen hatalarla karşılaşabilirsiniz.