Rumah pangkalan data tutorial mysql 5. SQL Server数据库性能监控

5. SQL Server数据库性能监控

Jun 07, 2016 pm 04:48 PM
kebuntuan pantau tunggu blok

对于在线运行的系统,当前数据库性能监控,通常监视以下几点:(1)是否有阻塞(Blocking);(2)是否有等待(Waiting),阻塞就是锁(Lock)等待;(3)是否运行时间过长(Lon

对于在线运行的系统,当前数据库性能监控,通常监视以下几点:

(1) 是否有阻塞 (Blocking);

(2) 是否有等待 (Waiting),阻塞就是锁 (Lock) 等待;

(3) 是否运行时间过长(Long running);

(4) 是否有死锁 (Deadlock);

sys.dm_exec_query_stats之类,等一些统计性的信息,通常不作为实时告警内容,而是在性能优化时,作为参考。

 

一. 阻塞/等待/长时间运行

1. SQL Server 2005 及以后版本检查

SELECT r.session_id       ,r.blocking_session_id       ,DB_Name(r.database_id) as database_name       ,r.start_time       ,r.total_elapsed_time       ,r.[status]       ,CASE WHEN r.blocking_session_id 0 THEN'Blocking'            WHEN r.blocking_session_id= 0 AND r.wait_type is not null THEN 'Waiting'            ELSE 'Long-running'        END as slowness_type       ,r.percent_complete       ,r.command       ,r.wait_type       ,r.wait_time       ,r.wait_resource       ,r.last_wait_type       ,r.cpu_time       ,r.reads       ,r.writes       ,r.logical_reads       ,t.[text] as executing_batch       ,SUBSTRING(t.[text],                 r.statement_start_offset/2,                 (CASE WHENr.statement_end_offset =-1                        THENDATALENGTH(t.[text]) --LEN(CONVERT(NVARCHAR(MAX),t.text)) * 2                ELSE r.statement_end_offset                END - r.statement_start_offset )/2+ 1) as executing_sql       ,bt.[text] as blocking_batch       ,SUBSTRING(bt.[text],                 br.statement_start_offset/2,                 (CASE WHENbr.statement_end_offset = -1                        THENDATALENGTH(bt.[text]) --LEN(CONVERT(NVARCHAR(MAX),bt.text)) * 2                ELSE br.statement_end_offset                END - br.statement_start_offset )/2+ 1) as blocking_sql      --,p.query_plan   FROM sys.dm_exec_requests r  CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) as t  CROSS APPLY sys.dm_exec_query_plan(r.plan_handle) as p   LEFT JOIN sys.dm_exec_requests br     ON r.blocking_session_id =br.session_id  OUTER APPLY sys.dm_exec_sql_text(br.session_id) as bt  WHERE r.session_id > 50 and r.session_id  @@SPID    AND r.total_elapsed_time >30 * 60 * 1000  ORDER BY r.total_elapsed_timeDESC;

以上脚本返回运行超过30分钟的语句,需要注意的是:

(1) 如果返回执行计划,会让以上脚本变慢很多,可以不返回,在收到告警后检查语句时,再去查看执行计划;

(2) 显示TEXT,比如: xp_cmdshell这样的语句,start_offset, end_offset都为0,截取的 text是空白,只有看TEXT才知道是什么语句;还有就是有时需要知道这个请求来自哪个batch或者存储过程;

(3) 有时显示TEXT还不够,还以xp_cmdshell为例,需要dbcc inputbuffer才能看到完整的sql语句;另外已运行结束但还没有commit/rollback的事务,在requests中已经没有了,也需要借用dbcc inputbuffer来查看sql 语句;

dbcc inputbuffer(@@SPID)

(4) SQL Agent作业,在这里会被一并检查,也可以通过msdb..sysjobactivity另行检查;

select b.name, *    from msdb..sysjobactivity a  inner join msdb.dbo.sysjobs b     on a.job_id = b.job_id  where b.name like '%backup%'

 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1663
14
Tutorial PHP
1263
29
Tutorial C#
1236
24
PHP menghantar e-mel secara tidak segerak: elakkan menunggu lama untuk e-mel dihantar. PHP menghantar e-mel secara tidak segerak: elakkan menunggu lama untuk e-mel dihantar. Sep 19, 2023 am 09:10 AM

PHP menghantar e-mel secara tidak segerak: elakkan menunggu lama untuk e-mel dihantar. Pengenalan: Dalam pembangunan web, menghantar e-mel adalah salah satu fungsi biasa. Namun, memandangkan penghantaran e-mel memerlukan komunikasi dengan pelayan, ia sering menyebabkan pengguna menunggu lama sementara menunggu e-mel dihantar. Untuk menyelesaikan masalah ini, kami boleh menggunakan PHP untuk menghantar e-mel secara tidak segerak untuk mengoptimumkan pengalaman pengguna. Artikel ini akan memperkenalkan cara melaksanakan PHP untuk menghantar e-mel secara tidak segerak melalui contoh kod tertentu dan mengelakkan menunggu lama. 1. Memahami menghantar e-mel secara tidak segerak

Berapa lama pemantauan rumah biasanya disimpan? Berapa lama pemantauan rumah biasanya disimpan? Aug 30, 2023 pm 04:44 PM

Pemantauan di rumah biasanya disimpan selama satu hingga dua minggu. Pengenalan terperinci: 1. Lebih besar kapasiti penyimpanan, lebih lama video boleh disimpan 2. Lebih besar kapasiti cakera keras, lebih lama video boleh disimpan 3. Mengikut keperluan kawasan dan undang-undang yang berbeza; peraturan, bilangan video pengawasan Masa penyimpanan mungkin berbeza-beza; 4. Sesetengah sistem pengawasan lanjutan juga boleh mencetuskan rakaman berdasarkan pengesanan gerakan atau peristiwa tertentu, dengan itu menjimatkan ruang storan dan menyediakan rakaman yang lebih berguna.

Skrip Python untuk memantau perubahan tapak web Skrip Python untuk memantau perubahan tapak web Aug 29, 2023 pm 12:25 PM

Dalam era digital hari ini, mengetahui perubahan terkini pada tapak web anda adalah penting untuk pelbagai tujuan, seperti menjejak kemas kini pada tapak web pesaing anda, memantau ketersediaan produk atau sentiasa dimaklumkan tentang maklumat penting. Semakan tapak web anda secara manual untuk perubahan boleh memakan masa dan tidak cekap. Di sinilah automasi dimainkan. Dalam catatan blog ini, kami akan meneroka cara membuat skrip Python untuk memantau perubahan tapak web. Dengan memanfaatkan kuasa Python dan beberapa perpustakaan berguna, kami boleh mengautomasikan proses mendapatkan semula kandungan tapak web, membandingkannya dengan versi sebelumnya dan memberitahu kami tentang sebarang perubahan. Ini membolehkan kami kekal proaktif dan bertindak balas segera terhadap kemas kini atau pengubahsuaian pada tapak yang kami pantau. Menyediakan persekitaran Sebelum kita mula menulis skrip untuk memantau perubahan tapak web, kita perlu menyediakan P

Ralat pemantauan Laravel: meningkatkan kestabilan aplikasi Ralat pemantauan Laravel: meningkatkan kestabilan aplikasi Mar 06, 2024 pm 04:48 PM

Memantau ralat dalam Laravel adalah bahagian penting dalam meningkatkan kestabilan aplikasi. Semasa proses pembangunan, pelbagai ralat pasti akan dihadapi, dan cara untuk mengesan dan menyelesaikan ralat ini tepat pada masanya adalah salah satu kunci untuk memastikan operasi normal aplikasi. Laravel menyediakan pelbagai alatan dan fungsi untuk membantu pembangun memantau dan mengendalikan ralat Artikel ini akan memperkenalkan beberapa kaedah penting dan melampirkan contoh kod tertentu. 1. Gunakan pembalakan Pembalakan adalah salah satu cara penting untuk memantau ralat. Laravel mempunyai sistem pembalakan yang berkuasa terbina dalam, pembangun

Nasihat Pembangunan C#: Sistem Pembalakan dan Pemantauan Nasihat Pembangunan C#: Sistem Pembalakan dan Pemantauan Nov 22, 2023 pm 08:30 PM

Cadangan Pembangunan C#: Sistem Pembalakan dan Pemantauan Ringkasan: Dalam proses pembangunan perisian, sistem pembalakan dan pemantauan adalah alat penting. Artikel ini akan memperkenalkan peranan dan cadangan pelaksanaan sistem pembalakan dan pemantauan dalam pembangunan C#. Pengenalan: Pembalakan dan pemantauan adalah alat penting dalam projek pembangunan perisian berskala besar. Mereka boleh membantu kami memahami status berjalan program dalam masa nyata dan menemui serta menyelesaikan masalah dengan cepat. Artikel ini akan membincangkan cara menggunakan sistem pengelogan dan pemantauan dalam pembangunan C# untuk meningkatkan kualiti perisian dan kecekapan pembangunan. Peranan sistem pembalakan

Cara menggunakan Docker untuk pemantauan kontena dan analisis prestasi Cara menggunakan Docker untuk pemantauan kontena dan analisis prestasi Nov 08, 2023 am 09:54 AM

Gambaran keseluruhan cara menggunakan Docker untuk pemantauan kontena dan analisis prestasi: Docker ialah platform kontena popular yang membenarkan aplikasi dijalankan dalam bekas bebas dengan mengasingkan aplikasi dan pakej perisian bergantungnya. Walau bagaimanapun, apabila bilangan kontena bertambah, pemantauan kontena dan analisis prestasi menjadi semakin penting. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Docker untuk pemantauan kontena dan analisis prestasi, dan menyediakan beberapa contoh kod khusus. Gunakan alat pemantauan kontena Docker sendiri yang disediakan oleh Docker

Bagaimana untuk menangani masalah kebuntuan dalam pembangunan C++ Bagaimana untuk menangani masalah kebuntuan dalam pembangunan C++ Aug 22, 2023 pm 02:24 PM

Cara menangani masalah kebuntuan dalam pembangunan C++ Deadlock adalah salah satu masalah biasa dalam pengaturcaraan berbilang benang, terutamanya apabila membangun dalam C++. Masalah kebuntuan mungkin berlaku apabila beberapa utas menunggu sumber masing-masing. Jika tidak dikendalikan dalam masa, kebuntuan bukan sahaja akan menyebabkan program menjadi beku, tetapi juga menjejaskan prestasi dan kestabilan sistem. Oleh itu, adalah sangat penting untuk mempelajari cara menangani masalah kebuntuan dalam pembangunan C++. 1. Fahami punca kebuntuan Untuk menyelesaikan masalah kebuntuan, anda perlu memahami punca kebuntuan. Kebuntuan biasanya berlaku apabila

Adakah Alat Kawalan Jauh Bunga Matahari akan dipantau? Adakah Kawalan Jauh Bunga Matahari akan mendedahkan privasi? Adakah Alat Kawalan Jauh Bunga Matahari akan dipantau? Adakah Kawalan Jauh Bunga Matahari akan mendedahkan privasi? Mar 15, 2024 pm 05:28 PM

Adakah alat kawalan jauh Sunflower akan dipantau? Perisian kawalan jauh bunga matahari boleh membantu pengguna mendapatkan maklumat dengan cepat dari komputer lain, dsb. Walau bagaimanapun, terdapat juga ramai pengguna yang bimbang tentang keselamatan komputer mereka sendiri Biarkan editor menjawab soalan ini untuk pengguna. Adakah Alat Kawalan Jauh Bunga Matahari akan dipantau Jawapan: Tidak. Walaupun Kawalan Jauh Bunga Matahari mempunyai keupayaan untuk melakukan ini, syarikat perisian besar seperti Kawalan Jauh Bunga Matahari yang telah ditubuhkan selama bertahun-tahun tidak akan melakukan perkara sedemikian. Bagi pekerja pejabat, mungkin satu perisian yang mesti dipasang pada komputer ialah alat kawalan jauh. Bagi kebanyakan orang, sama ada mereka bekerja dari rumah atau kerana mereka tidak dapat keluar, mengendalikan komputer semasa dari jarak jauh melalui komputer lain boleh menjimatkan banyak masa.

See all articles