Toplu Kopyala toplu işlem boyutları yönetme
Bir işlem kapsam tanımlamak için toplu iş toplu kopyalama işlemleri de birincil amacı budur.Toplu iş boyutu ise küme, sonra da bir hareket olacak şekilde bir bütün toplu Kopyala toplu kopyalama işlevleri göz önünde bulundurun.Toplu iş boyutu ise küme, sonra da her toplu iş toplu iş tamamlandığında, kaydedilmiş bir hareket oluşturan.
toplu kopyalama hiçbir toplu iş boyutu belirtilen gerçekleştirilir ve bir hata ile karşılaştı, tüm toplu kopyalama geri alınır.Uzun süren toplu kopyalama kurtarma bir uzun sürebilir saat.Toplu iş boyutu olduğunda küme, toplu kopyalama bulduğu her toplu işlem ve her toplu iş tamamlama.Bir hata ortaya çıkarsa, yalnızca son bekleyen toplu iş iş geri alınması gerekiyor.
Toplu iş boyutu kilitleme ek yükü de etkileyebilir.Karşı bir toplu kopyalama işlemi sırasında SQL Server, tablock ipucu kullanarak belirtilebilir bcp_control almak için bir tablo kilidi satır kilitleri yerine.Tek tablo kilidi bir tüm toplu kopyalama işlemi için en az düzeyde ek yük tutulabilir.tablock belirtilmezse, tek tek satır kilitleri tutulur ve toplu kopyalama süresince tüm kilitleri Bakımı yükünü performansı düşürebilir.Kilitleri yalnızca bir hareketin uzunluk için tutulan nedeniyle toplu iş boyutu belirtme düzenli olarak şu anda tutulan kilitleri serbest bırakır bir yürütme üreterek bu sorunu gidermektedir.
Bir toplu iş yapma satır toplu tıklattığınızda çok fazla sayıda satır kopyalama önemli performans etkileri olabilir.Toplu iş boyutu için öneriler gerçekleştirilen toplu kopyalama türüne bağlıdır.
Ne zaman kopyalama toplu olarak SQL Server, tablock toplu kopyalama ipucu belirtin ve küme bir büyük toplu iş boyutu.
tablock belirtilmediği durumlarda, toplu iş boyutu 1. 000'den az satırlara sınırlayın.
Toplu tıklattığınızda, veri dosyasından kopyalama toplu iş boyutu çağıran belirtilen bcp_control önce edinilecek bcpbatch seçeneğiyle bcp_exec.When bulk copying from program variables using bcp_bind and bcp_sendrow, the batch size is controlled by calling bcp_batch after calling bcp_sendrow x times, where x is the number of rows in a batch.
Satırlar ağ üzerinden sunucuya gönderildiğinde, bir hareket boyutunu belirtmenin yanı sıra, toplu işlemleri de etkiler.Toplu kopyalama işlevleri normal olarak önbelleğe alınan satırların bcp_sendrow kadar bir ağ paketi girilir ve tam paket sunucuya gönderin.Uygulama ağda bir bcp_batch, ancak geçerli paket doldurulmuştur olup olmadığı dikkate alınmadan sunucuya gönderilir.Çok düşük toplu iş boyutu kullanarak yavaş performans, onu sonuçlar birçok kısmen dolu paketlerini sunucuya gönderme.Örneğin, arama bcp_batch sonra her bcp_sendrow her satır ayrı bir paket içinde gönderilmesine neden olur ve satırları çok büyük olmadığı sürece, her paket alana boşa harcar.Bir uygulama çağırarak boyutunu değiştirebilirsiniz, ancak varsayılan sql Server ağ paketlerini 4 kb boyutudur SQLSetConnectAttr SQL_ATTR_PACKET_SIZE öznitelik belirtme.
Her toplu bir üstün sayılır toplu işlemleri başka bir yan etkisi olan sonuç küme ile tamamlanıncaya kadar bcp_batch.Bir toplu iş bekleyen, iken diğer işlemleri bir bağlantı tanıtıcısı üzerinde çalışılan, SQL Server yerel istemci odbc sürücüsü ile SQLState hata sorunları "hy000" = ve bir hata iletisi dize:
"[Microsoft][SQL Server Native Client] Connection is busy with
results for another hstmt."
Ayrıca bkz.