Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Peningkatan Layanan Broker di SQL Server 2016

Menjelang PASS Summit minggu ini, dan tentunya lusinan pengumuman seputar SQL Server 2016, saya pikir saya akan membagikan sedikit fitur yang telah disembunyikan di CTP untuk beberapa waktu sekarang, tetapi Microsoft belum memiliki kesempatan untuk mempublikasikan:Operasi pemeliharaan tambahan tersedia untuk antrian Pialang Layanan.

Remus Rusanu (@rusanu) membahas masalah bahwa fragmentasi pada volume tinggi dapat menyebabkan antrian dalam posting ini:

  • Menangani Antrean Besar

Di sana, dia mengungkapkan bahwa Anda sebenarnya dapat menggunakan DBCC REINDEX terhadap tabel internal, tetapi Anda harus menentukan nama tabel internal, dan terhubung melalui DAC. Tidak terlalu nyaman.

Sekarang, hampir enam tahun kemudian, jika Anda yakin mengalami masalah fragmentasi karena beban tinggi, Anda dapat memaksa indeks REORGANIZE atau REBUILD operasi terhadap tabel internal antrian dengan merujuk antrian secara langsung:

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

Bagaimana Anda tahu berapa banyak fragmentasi yang Anda miliki dalam antrian? Nah, antrian telah ditambahkan sebagai objek yang diizinkan untuk diteruskan ke sys.dm_db_index_physical_stats , juga:

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

Dan Anda mendapatkan hasil yang mirip dengan interogasi yang sama dari tabel biasa.

Selain itu, Anda dapat memindahkan antrean ke grup file lain; operasi ini akan membangun kembali tabel antrian internal dan semua indeksnya pada filegroup baru:

ALTER QUEUE dbo.myQueue MOVE TO [MY_FILEGROUP];

Kemampuan baru ini seharusnya memungkinkan skalabilitas solusi Service Broker yang lebih besar.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghubungkan ke SQL Server 2012 menggunakan sqlalchemy dan pyodbc

  2. SQL Server Express vs express localdb

  3. Bagaimana cara memperbaiki kesalahan 'Penyedia Pipa Bernama, kesalahan 40 - Tidak dapat membuka koneksi ke' SQL Server'?

  4. Konversi tipe data datetime2 ke tipe data datetime menghasilkan nilai di luar rentang

  5. SQL Dinamis vs Prosedur Tersimpan