alter queue (Transact-sql)

Bir sıranın özelliklerini değiştirir.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

ALTER QUEUE <object> WITH
   [ STATUS = { ON | OFF } [ , ] ]
   [ RETENTION = { ON | OFF } [ , ] ]
   [ ACTIVATION (
       { [ STATUS = { ON | OFF } [ , ] ] 
         [ PROCEDURE_NAME = <procedure> [ , ] ]
         [ MAX_QUEUE_READERS = max_readers [ , ] ]
         [ EXECUTE AS { SELF | 'user_name'  | OWNER } ]
       |  DROP }
          ) [ , ]]
         [ POISON_MESSAGE_HANDLING (
          STATUS = { ON | OFF } )
         ] 
  [ ; ]

<object> ::=
{
    [ database_name. [ schema_name ] . | schema_name. ]
        queue_name
} 

<procedure> ::=
{
    [ database_name. [ schema_name ] . | schema_name. ]
        stored_procedure_name
}

Bağımsız değişkenler

  • database_name(nesne)
    Değiştirilecek sıra içeren veritabanı adıdır. Hayır database_nameBu veritabanı için varsayılan sağlanır.

  • schema_name(nesne)
    Yeni bir sıra ait olduğu şema addır. Hayır schema_nameBu geçerli kullanıcı için varsayılan şema varsayılan olarak sağlanır.

  • queue_name
    Değiştirilecek sıra addır.

  • DURUM (sıra)
    Sıra (açık) kullanılabilir veya kullanılamaz (kapalı) olup olmadığını belirtir. Sıra kullanılamaz olduğunda hiçbir ileti sıraya eklenebilir veya sıradan kaldırıldı.

  • SAKLAMA
    Sıra tutma ayarını belirtir. Eğer saklama = on, bu sırada kullanarak gönderilen veya alınan üzerinde konuşmalar, kuyrukta korunur, konuşmaları sona kadar tüm iletileri. Amaçları denetleme iletileri saklamak böylece ya da bir hata Dengeleme işlemleri gerçekleştirmek için oluşur

    [!NOT]

    SAKLAMA ayarlamak = on performansını azaltabilir. Bu ayar yalnızca gerektiğinde uygulama servis seviyesi anlaşması karşılamak için kullanılmalıdır.

  • ETKİNLEŞTİRME
    Bu sırada gelen iletileri işlemek için etkinleştirilmiş saklı yordamı hakkında bilgi belirtir.

  • DURUM (aktivasyon)
    Sıra saklı yordam etkinleştirir olup olmadığını belirtir. Ne zaman durum = on, saklı yordam belirtilen procedure_name ile çalışmakta olan işlemleri sayısı den max_queue_readers ve sırası saklı yordamlar mesajları daha hızlı iletiler geldiğinde ise sıra başlar. Ne zaman durum = off, sıra saklı yordam etkinleştirmez.

  • procedure_name = <yordam>
    Sıradaki iletilerin işlenmesini içerdiğinde etkinleştirmek için saklı yordam adını belirtir. Bu değer olmalıdır bir SQL Servertanımlayıcısı.

  • database_name (procedure)
    Saklı yordam içeren veritabanı adıdır.

  • schema_name (procedure)
    Saklı yordam sahibi olan şema addır.

  • stored_procedure_name
    Saklı yordam addır.

  • max_queue_readers =max_reader
    Depolanan etkinleştirme yordamı sıra aynı anda başlayan örnekleri sayısı üst sınırını belirtir. Değeri max_readers0 ile 32767 arasında bir sayı olmalı.

  • EXECUTE AS
    Belirtir SQL Serververitabanı kullanıcı hesabı altında etkinleştirme saklı yordamı çalıştırır. SQL Serversıra saklı yordam etkinleştirir zaman bu kullanıcı izinlerini kontrol etmek gerekir. Windows etki alanı kullanıcı, SQL Serveretki alanına bağlıyken ve yordamı etkinleştirildiğinde belirtilen kullanıcı veya etkinleştirme başarısız izinlerini doğrulamak olmalıdır. İçin bir SQL Serverkullanıcı, sunucu olabilir her zaman kontrol izin.

  • KENDİNİ
    Saklı yordam geçerli kullanıcı olarak yürütür belirtir. (Veritabanı asıl bu alter queue deyimi yürütme.)

  • 'user_name'
    Saklı yordam olarak yürütür kullanıcı adıdır. user_namegeçerli olmalıdır SQL Serverolarak belirtilen kullanıcı bir SQL Servertanımlayıcısı. Geçerli kullanıcıya özelliklerini Al izni olmalıdır user_namebelirtilen.

  • SAHİBİ
    Saklı yordam sıranın sahibi olarak yürütür belirtir.

  • BIRAK
    Sıra ile ilişkilendirilmiş tüm etkinleştirme bilgileri siler.

  • POISON_MESSAGE_HANDLING
    Zarar iletisi işleme etkin olup olmadığını belirtir. ON varsayılan değerdir.

    Zarar iletisi işleme kapalı olarak ayarlanmış olan bir sıra beş ardışık işlem Al sonra devre değil. Bu uygulama tarafından tanımlanan sistem teslim özel zehir ileti sağlar.

Açıklamalar

Bir sıra ile belirtilen bir etkinleştirme depolanan yordamı için on dan OFF etkinleştirme durumunu değiştirme, iletileri içerir hemen depolanan etkinleştirme yordamı etkinleştirir. off ON harekete geçirmek durum değiştiren broker örneği saklı yordam etkinleştirme gelen durdurur, ancak şu anda çalışan örneği saklı yordam durdurmaz.

Değiştirme depolanan etkinleştirme yordamı eklemek için bir sıra sıra etkinleştirme durumunu değiştirmez. Sıra için depolanan etkinleştirme yordamı değiştirme çalışmakta olan örneği depolanan etkinleştirme yordamı etkilemez.

Service Brokeretkinleştirme işleminin bir parçası olarak bir sıra sıra Okuyucu sayısını denetler. Bu nedenle, sıra sıra Okuyucu sayısını artırmak için değiştirme verir Service Brokerhemen harekete geçirmek için daha fazla örneğini başlatmak için saklı yordam. Sıra Okuyucu sayısını azaltmak için bir sıra değiştirme çalışmakta depolanan etkinleştirme yordamı örneklerini etkilemez. Ancak, Service Brokersaklı yordam örnekleri için etkinleştirme sayısı saklı yordamı kadar yeni bir örneğini yapılandırılmış en fazla kaç düşer başlangıç yok.

Sıra kullanılamadığında, Service Brokeriletiler için iletim sırada veritabanı için sıra kullanan hizmetleri tutar. Sys.transmission_queue Katalog görünümü, iletim sırası görünümünü sağlar.

Kullanılamayan bir sıraya Al deyimi veya get konuşma group deyimi belirtir, bu beyanı ile başarısız bir Transact-SQLhata.

İzinler

Sıra, üyelerinin sahibi için bir sıra değiştirme izni varsayılan db_ddladminya db_ownersabit veritabanı rolleri ve üyeleri sysadminsunucu rolü.

Örnekler

A.Sıra kullanılamaz yapma

Aşağıdaki örnek ExpenseQueuesıra iletileri almak kullanılamaz.

ALTER QUEUE ExpenseQueue WITH STATUS = OFF ;

ALTER QUEUE ExpenseQueue WITH STATUS = OFF ;

B.Saklı yordamı etkinleştirme değiştirme

Aşağıdaki örnek sıra başlatır saklı yordamı değiştirir. Saklı yordam çalıştıran kullanıcı yürütür ALTER QUEUEdeyimi.

ALTER QUEUE ExpenseQueue
    WITH ACTIVATION (
        PROCEDURE_NAME = new_stored_proc,
        EXECUTE AS SELF) ;

ALTER QUEUE ExpenseQueue
    WITH ACTIVATION (
        PROCEDURE_NAME = new_stored_proc,
        EXECUTE AS SELF) ;

C.Sıra Okuyucu sayısını değiştirme

Aşağıdaki örnek ayarlar 7saklı yordam sayısının örnekler Service BrokerBu sıra için başlıyor.

ALTER QUEUE ExpenseQueue WITH ACTIVATION (MAX_QUEUE_READERS = 7) ;

ALTER QUEUE ExpenseQueue WITH ACTIVATION (MAX_QUEUE_READERS = 7) ;

D.Etkinleştirme değiştirme depolanmış yordam ve execute as hesabı

Aşağıdaki örnek saklı yordam değiştirir, Service Brokerbaşlar. Saklı yordam yürütür kullanıcı olarak SecurityAccount.

ALTER QUEUE ExpenseQueue
    WITH ACTIVATION (
        PROCEDURE_NAME = AdventureWorks2012.dbo.new_stored_proc ,
        EXECUTE AS 'SecurityAccount') ;

ALTER QUEUE ExpenseQueue
    WITH ACTIVATION (
        PROCEDURE_NAME = AdventureWorks2012.dbo.new_stored_proc ,
        EXECUTE AS 'SecurityAccount') ;

E.İletileri saklamak için sırasını ayarlama

Aşağıdaki örnek sıra iletileri saklamak için ayarlar. Sıradaki tüm iletileri, gönderilen veya alınan bu sıranın, iletiyi içeren görüşme sona kadar kullanan hizmetleri korur.

ALTER QUEUE ExpenseQueue WITH RETENTION = ON ;

ALTER QUEUE ExpenseQueue WITH RETENTION = ON ;

F.Sıradan etkinleştirme kaldırma

Aşağıdaki örnek, sıradan için tüm etkinleştirme bilgileri kaldırır.

ALTER QUEUE ExpenseQueue WITH ACTIVATION (DROP) ;

ALTER QUEUE ExpenseQueue WITH ACTIVATION (DROP) ;

Ayrıca bkz.

Başvuru

SIRA (Transact-sql) oluştur

SIRA (Transact-sql) bırak

eventdata (Transact-sql)