Düzeltme: abonelerin, yayımcının Microsoft SQL Server 2005 ile eşitlemek için dağıtım Aracı'nı çalıştırın veya (TDS) uzaktan yordam çağrısı (RPC) iletişim kuralının akışı yanlış gelen SQL Server 2008: '' sekmeli veri akışı hata iletisi "

Makale çevirileri Makale çevirileri
Makale numarası: 973103 - Bu makalenin geçerli olduğu ürünleri görün.
Microsoft, Microsoft SQL Server 2005 düzeltmeleri tek bir yüklenebilir dosya dağıtır. Düzeltmeleri birikimli olduğu için her yeni sürüm, tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2005 ile birlikte verilen tüm güvenlik düzeltmelerini düzeltin.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Microsoft SQL Server 2005'te, bu işlem çoğaltması kullanırsınız. Abonelerin yayımcı ile eşitlemek için dağıtım Aracı'nı çalıştırdığınızda, Dağıtım Aracısı çalışmayabilir ve dağıtım aracısını geçmiş ya da çıktı günlüğüne aşağıdaki hata iletisini alırsınız:

42000 Gelen sekmeli veri (TDS) uzaktan yordam çağrısı (RPC) iletişim kuralının akışı yanlış akış. Çok fazla parametre, bu RPC isteğinde sağlanan. En fazla 2100 ' dir. 8003

Sürekli olarak bu hatalar oluştuğunda, performansı etkilenebilir. Bir hata oluştuğunda, dağıtım aracısını yapacağınız yeniden komutlar aynı denemek için yeniden deneme işleniyor. Bu nedenle, dağıtım aracısını, sorunlu her toplu işlem, iki kez denediğinden, abonelerin yayımcı ile eşitlemek için daha fazla zaman kullanır.

Neden

Distribution Agent distribution veritabanını bekleyen komutları işler CommitBatchSize parametresi kullanır ve kaç komutları belirlemek amacıyla CommitBatchThreshold parametresi batched birlikte bir yürütme abonelere komutları gönderdiğinde.

CommitBatchSize parametresi, bir COMMIT deyimi verilmeden önce abonelere verilmesi hareketlerin sayısıdır. Varsayılan değer 100'dür. CommitBatchThreshold parametresi bir COMMIT deyimi verilmeden önce abonelere verilmesi çoğaltma komutları sayısıdır. Varsayılan değer 1000'dir.

Tek bir işlem içeren bir komut veya komutları içerebilir çünkü 100 CommitBatchSize parametre ayarını ve 1000 için CommitBatchThreshold parametre ayarını birkaç bin komutların komutları tek bir toplu işlemde teslim izin verebilir.

Bir makaleyi bir yayına @ ins_cmd eklendiğinde, @ upd_cmd ve @ del_cmd çoğaltma komut türü parametrelerinin nasıl teslim belirlemek için bir yordam için abone komutları depolanan sp_addarticle için belirtilir. CommitBatchSize ve CommitBatchThreshold parametreleri ek olarak, ayrıca SQL yerel istemci OLE DB sağlayıcısında kaç parametreleri abonesi tarafından gönderilen tek bir toplu komut ilişkili üzerindeki en fazla gereksinimleri olduğunu göz önünde bulundurulması gereken dağıtım aracı vardır.

En fazla komutu tek bir toplu işlemde kullanılan 2100 parametreleri yok. Böylece 2100 parametrelerinin maksimum değil aştı dağıtım aracı bu nedenle otomatik olarak büyük toplu işlemleri yalnızca toplu iş başına yeterli ifadeleri böler. Sonra kalan tüm komutları komut toplu işlemindeki otomatik olarak sonraki yürütme toplu iş taşınır.

Distribution Agent bir toplu iş komut göndermek için gereken parametre sayısı yanlış hesaplarken bu sorun oluşur. Bu dağıtım aracı dinamik bir saklı yordamın sp_executesql yinelenmiş komutları bir toplu iş için bir sarmalayıcı kullanıyorsa ortaya çıkar.

Yinelenmiş komutu, birden fazla 2098 parametrelerinde bir toplu iş komut içeren ve toplu iş komut sp_executesql saklı yordamını kullanarak toplu iş olarak dinamik olarak yerleşik bir Transact-SQL deyimini teslim alınmış, dağıtım aracısını işlev kendisine sp_executesql, yordam gereksinimlerini iki ek ilişkili parametreleri depolanan hesaplamasında içermez. Bu nedenle, bu parametre sayısı 2100 parametreleri aşabilir.

Distribution Agent sp_executesql saklı yordamını aşağıdaki durumlarda alt satıra kaydırılmış dinamik olarak yerleşik Transact-SQL deyiminin bu teslimi seçeneği kullanabilirsiniz:
  • Makaleyi, ikili büyük nesne (BLOB) sütunlar gibi metin veya resim sütunlarını içerir.
  • Birden fazla çoğaltma komut türü, tüm makalelerin arasında kullanılır. Bir makaleyi SQL teslim çoğaltma komut türü kullanıyor, ancak başka bir makale sp_MSins_procedure saklı yordamı çoğaltma komut türü kullanıyor örneğin.

Çözüm

SQL Server 2005'te

Bu sorunla ilgili düzeltme, önce SQL Server 2005 Service Pack 3 için toplu güncelleştirme 5'de yayımlanmıştır. Bu toplu güncelleştirme paketi hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
972511 SQL Server 2005 Service Pack 3 için toplu güncelleştirme paketine 5
Not Yap?lar birikimli olduğu için her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2005 ile birlikte verilen tüm güvenlik düzeltmelerini düzeltin. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümü uygulama düşündüğünüz önerir. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
960598SQL Server 2005, SQL Server 2005 Service Pack 3 yayımlandıktan sonra yayımlanan oluşturur
Microsoft SQL Server 2005 düzeltmeleri için belirli bir SQL Server hizmet paketlerini oluşturulur. Bir SQL Server 2005 Service Pack 3 yüklemesi için SQL Server 2005 Service Pack 3'ü bir düzeltmeyi uygulamanız gerekir. Varsayılan olarak, sonraki SQL Server hizmet paketi ile bir SQL Server hizmet paketinde sağlanan herhangi bir düzeltme bulunmaktadır.

SQL Server 2008

SQL Server 2008

Önemli SQL Server 2008'in yayım sürümünü çalıştırıyorsanız, bu düzeltmenin kullanmanız gerekir.

Bu sorunla ilgili düzeltme, ilk toplu güncelleştirme 7'de yayımlanmıştır. SQL Server 2008 için bu toplu güncelleştirme paketini elde etme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
973601SQL Server 2008 için güncelleştirme paketi 7
Not Yap?lar birikimli olduğu için her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2008'in içerdiği tüm güvenlik düzeltmelerini düzeltin. Bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı öneririz. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
956909SQL Server 2008, SQL Server 2008'de yayımlandıktan sonra yayımlanan oluşturur

SQL Server 2008 Service Pack 1 (SP1)

Önemli SQL Server 2008 Service Pack 1 (SP1) çalıştırıyorsanız, bu düzeltmenin kullanmanız gerekir.

Bu sorunla ilgili düzeltme, önce SQL Server 2008 Service Pack 1 için toplu güncelleştirme 4'de yayımlanmıştır. Bu toplu güncelleştirme paketi hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
973602SQL Server 2008 Service Pack 1 için toplu güncelleştirme paketine 4
Not Yap?lar birikimli olduğu için her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2008'in içerdiği tüm güvenlik düzeltmelerini düzeltin. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümü uygulama düşündüğünüz önerir. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
970365SQL Server 2008, SQL Server 2008 Service Pack 1'de yayımlandıktan sonra yayımlanan oluşturur
Microsoft SQL Server 2008'in, düzeltmeleri belirli SQL Server hizmet paketleri için oluşturulur. SQL Server 2008 Service Pack 1 yüklemesi için bir SQL Server 2008 Service Pack 1 düzeltme uygulamanız gerekir. Varsayılan olarak, sonraki SQL Server hizmet paketi ile bir SQL Server hizmet paketinde sağlanan herhangi bir düzeltme bulunmaktadır.

Pratik Çözüm

Bu soruna geçici bir çözüm için aşağıdaki yöntemlerden birini kullanın:

Yöntem 1

Bu hata bir daha tolerable düzeyine tekrarlarını azaltmak için <a0></a0>, dağıtım aracısını için CommitBatchSize ve CommitBatchThreshold parametreleri değerini azaltın. Amaç, her toplu iş komut 2100 parametreleri aşmasını önlemek için komutları commit toplu işlemi başına en fazla sayısını kısıtlayın kalmasını sağlamaktır.

Örneğin <a0>CommitBatchSize</a0> parametresinin varsayılan değeri 100'dür. 10'A değiştirebilirsiniz. CommitBatchThreshold parametresinin varsayılan değeri 1000'dir. 100'E değiştirebilirsiniz.

Toplu işlemi ilk olarak en uygun boyutlarını teslim edildiğinden, bu azalan performansını etkileyebilir. Ancak, bu yöntem, neden bölümünde açıklanan hata koşulları önlemenize yardımcı olur.

Aşağıdaki yöntemlerden birini kullanarak CommitBatchSize ve CommitBatchThreshold parametrelerini değiştirebilirsiniz:
  • SQL Server Agent dağıtım aracısını iş adımda komutunu CommitBatchSize ve CommitBatchThreshold parametreleri ekleme
  • Dağıtımcı Özellikler iletişim kutusunu veya çoğaltma izleyicisi Aracısı yeni bir profili oluşturduğunuzda CommitBatchSize ve CommitBatchThreshold parametrelerini değiştirin.
Bu parametre değiştirme hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn.microsoft.com/en-us/library/ms151326(SQL.90).aspx


Tamamen bu hata, toplu işin sonraki yeniden deneme önlemek istiyorsanız, en kötü Durum senaryosu planlamanız gerekir. Bunu yapmak için <a0></a0>, yayınınızdaki birçok sayıda sütun içeren geniş makaleyi Bul. Örneğin, işlem yayında yayımlanmış bir 100 sütunları olan bir tablonuz varsa, bu tabloda tek bir yinelenmiş komut 100 parametrelerini içerebilir. Tek bir toplu işlemde göndermek için dağıtım aracı olan parametre sayısı en fazla 2098 böylece CommitBatchThreshold parametre ayarını azaltmalısınız. Tüm sütunlar komutuyla etkileniyorsanız, CommitBatchThreshold parametre ayarı 20 veya daha küçük 2000 parametreleri bu tabloda 20 komutlarının toplu iş başına en fazla izin vermek için gerekir.

Yöntem 2

Yayını ayarladığınızda, yayındaki tüm makaleleri için aynı çoğaltma komut türü kullanın. Toplu iş komutları bir toplu işlemindeki bir sarmalayıcı sp_executesql saklı yordamını kullanarak teslim seçmek dağıtım aracısını gereksinimini azaltmak için aynı yayında makaleler için komut teslimat mekanizmalarını karıştırma kaçının.

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır.

Daha fazla bilgi

Distribution Agent çoğaltma hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn.microsoft.com/en-us/library/ms147328(SQL.90).aspx

Çoğaltma aracısının profilleri hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn.microsoft.com/en-us/library/ms151223(SQL.90).aspx

Referanslar

SQL Server için artımlı hizmet modeli hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
935897SQL Server ekibinden bildirilen sorunlar için düzeltmeler ulaştırmak için artımlı bir hizmet modeli kullanılabilir
SQL Server 2005 Service Pack 3'ü edinme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
913089En son SQL Server 2005 hizmet paketi nasıl elde edilir
SQL Server 2005 SP3'teki yeni özellikler hakkında ve SQL Server 2005 SP3'ndeki geliştirmeler hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://go.microsoft.com/fwlink/?LinkId=131442
SQL Server güncelleştirmelerinin adlandırma şeması hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
822499Microsoft SQL Server yazılım güncelleştirme paketlerinin yeni adlandırma şeması
Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Özellikler

Makale numarası: 973103 - Last Review: 17 Ağustos 2009 Pazartesi - Gözden geçirme: 1.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
Anahtar Kelimeler: 
kbmt kbsurveynew kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced kbhotfixserver KB973103 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:973103

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com