Зараз ви перебуваєте в автономному режимі; очікується повторне підключення до Інтернету

Service Broker etkinleştirme görevleri sınırlamak çalıştığınızda Max_Queue_Readers özelliği yoksayılır

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 3163368
Belirtiler
Aşağıdaki senaryoyu düşünün:
  • Microsoft SQL Server 2014 veya Microsoft SQL Server 2012 Service Broker kullanın.
  • Zaman uyumsuz bir saklı yordam yürütme için Service Broker ayarlayın.
  • Kaç tane örnek bir etkinleştirme saklı yordamı aynı anda çalışmasını sınırlandırmak Service Broker sıra için özel bir değer Max_Queue_Readers özelliğini ayarlayın
Bu senaryoda, etkin görevler daha fazla farkMax_Queue_Readersiçin ayarladığınız değerden çalıştırıyorsunuz.
Neden
Service Broker veritabanı tek kullanıcı modu (RESTRICTED_USER) ' çok kullanıcılı moda (MULTI_USER) aşağıdaki komutu çalıştırarak anahtarlanır Bu sorun oluşabilir:

alter database <dbname> set multi_user
Kullanıcı modu veritabanı değiştirildiğinde, Service Broker kapatmalı ve yeniden. Bu işlem sırasında varolan QueueMonitor nesne bırakılan ve QueueMonitor nesnesinin başka bir örneği oluşturulur. Service Broker sona erdirilirken uzun bir işlemi etkinleştirme işlemi çalışıyorsa, QueueMonitor nesnenin durumu "bırakılan" değiştirildi

Ancak, varolan QueueMonitor nesne örneği kendi başvuru sayısı sıfır olmayan ulaştığından silinmez. Etkinleştirme yordamı Service Broker yeniden başlatıldığında hala çalışıyorsa, QueueMonitor nesnesi ve QueueMonitor bırakılan nesneyi yeni bir örneğini aynı sırada birlikte var. Service Broker başlatır bir sonraki açışınızda bırakılan QueueMonitor nesne örneği silinir.
Pratik Çözüm
Bu soruna geçici bir çözüm için "alter veritabanı [dbname] set MULTI_USER" etkinleştirilmiş hiçbir yordam zaman çalıştırıldığından emin olun çalışıyor. Bunu yapmak için aşağıdaki yöntemlerden birini kullanın:

  • Kullanıcı modu değiştirmeden önce veritabanındaki tüm sıraları devre dışı bırakın ve sonra tüm sıraları yeniden etkinleştirin.
  • Kullanıcı modu değiştirmeden önce etkilenen tüm sıralar için etkinleştirme yordamı aşağıdaki komutu çalıştırarak devre dışı bırakın ve sonra yeniden etkinleştirme yordamı etkinleştirme:

    alter queue <queueName> with activation ( status = off)
Daha fazla bilgi
"Sys.dm_broker_activated_tasks" yönelik bir sorgu çalıştırarak aşağıdaki gibi belirli bir sıra için çalışan etkinleştirme yordamlar sayısını kontrol edebilirsiniz:

select * from sys.dm_broker_activated_tasks where queue_id = <queue number>
Aşağıdaki sorguyu çalıştırarak sıra monitör durumunu sorgulama yapabilirsiniz:

Select * from sys.dm_broker_queue_monitors where queue_id = <queue number>
Sıra monitör durumunu "veritabanı kullanıcı modu değiştirilmişse, bırakılan"olarak görüntülenir.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Властивості

Ідентифікатор статті: 3163368 – останній перегляд: 05/19/2016 18:27:00 – виправлення: 1.0

Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Business Intelligence, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Enterprise Core, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Workgroup

  • kbprb kbsurveynew kbexpertiseadvanced kbmt KB3163368 KbMttr
Зворотний зв’язок