sql >> データベース >  >> RDS >> Sqlserver

SQLServer2016でのServiceBrokerの機能強化

    今週のPASSサミットに先立ち、SQL Server 2016に関する数十から数十の発表がありましたが、しばらくの間CTPに隠されていた機能について少し説明したいと思いましたが、Microsoftにはチャンスがありませんでした。公開するには:ServiceBrokerキューで利用可能な追加のメンテナンス操作。

    Remus Rusanu(@rusanu)は、この投稿で、大量の断片化がキューの原因となる可能性がある問題について説明しました:

    • 大きなキューの処理

    そこで彼は、実際にDBCC REINDEXを使用できることを明らかにしました。 内部テーブルに対してですが、内部テーブル名を決定し、DACを介して接続する必要がありました。必ずしも便利ではありません。

    現在、ほぼ6年後、高負荷が原因で断片化の問題が発生していると思われる場合は、インデックスを強制的にREORGANIZEできます。 またはREBUILD キューを直接参照することによるキューの内部テーブルに対する操作:

    ALTER QUEUE dbo.myQueue REORGANIZE;
    -- or
    ALTER QUEUE dbo.myQueue REBUILD;

    キューにどれだけの断片化があるかをどうやって知るのですか?さて、キューはsys.dm_db_index_physical_statsに渡すことができるオブジェクトとして追加されました 、も:

    SELECT * FROM sys.dm_db_index_physical_stats
      (
        DB_ID(), 
        OBJECT_ID(N'dbo.QueryNotificationErrorsQueue'), 
        -1, 0, 'SAMPLED'
      );

    また、通常のテーブルの同じ問い合わせと同様の出力が得られます。

    さらに、キューを別のファイルグループに移動できます。この操作により、内部キューテーブルとそのすべてのインデックスが新しいファイルグループに再構築されます。

    ALTER QUEUE dbo.myQueue MOVE TO [MY_FILEGROUP];

    これらの新機能により、ServiceBrokerソリューションのスケーラビリティが向上するはずです。


    1. ORD()の例– MySQL

    2. PostgresENUMデータ型またはCHECKCONSTRAINT?

    3. MySQLでサーバー照合を表示する方法

    4. INST_TOP(Oracle R12 INSTANCE_HOME)がデコードされました