Apakah SQL Server Query Store menangkap nilai parameter?


9

Query Store baru yang diperkenalkan di SQL Server 2016 sangat bagus. Ini adalah pengganti yang bagus untuk banyak hal yang biasa saya lakukan dengan alat Profiler yang lebih lama. Namun, saya belum menemukan cara untuk menangkap nilai parameter yang terkait dengan panggilan individual ke kueri yang menghabiskan banyak sumber daya yang dihembuskannya. Apakah ini mungkin?

Saya mengerti bahwa Query Store lebih banyak berurusan dengan data agregat vs panggilan individu, jadi saya kira saya mungkin kurang beruntung di sini. Ketika saya menemukan permintaan lambat, saya merasa berguna untuk pemecahan masalah juga memiliki parameter yang terkait dengan salah satu panggilan paling lambat. Saya ingin tahu bagaimana melakukan ini menggunakan alat terbaru dan terhebat. (Saya tidak ketinggalan menggunakan Profiler!)

Dari segi keamanan, apakah Query Store kurang terkunci daripada Profiler? Saya pikir itu perlu untuk menangkap data dari panggilan individu di beberapa tingkat untuk menghitung agregat. Hanya tidak yakin apakah itu menyimpannya.

Jawaban:


11

Bergantung pada paket, Anda harus dapat melihat ParameterCompiledValueuntuk setiap parameter dengan memeriksa paket XML yang disimpan sys.query_store_plan.

Daftar ini biasanya dimuat menjelang akhir paket xml, dan dapat ditemukan di ParameterListnode.

Ini tidak memberikan nilai untuk setiap eksekusi, tetapi memberi Anda gambaran tentang apa rencana itu disusun.

Jika Anda benar-benar perlu mendapatkan nilai untuk setiap eksekusi, Anda bisa membuat sesi Acara yang Diperpanjang untuk mengumpulkan detail.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.