Có một chương trình hoặc truy vấn sql mà tôi có thể tìm thấy truy vấn SQL nào đang được chạy trên SQL Server 2012 không? Tôi nghĩ rằng có một công cụ trong phiên bản trước của SQL Server, nơi các nội dung truy vấn thực tế được hiển thị hoặc tên thủ tục lưu trữ?Hiện đang chạy truy vấn trong SQL Server
Trả lời
đây là những gì bạn cần phải cài đặt profiler SQL http://msdn.microsoft.com/en-us/library/bb500441.aspx. Tuy nhiên, tôi khuyên bạn nên đọc qua số http://blog.sqlauthority.com/2009/08/03/sql-server-introduction-to-sql-server-2008-profiler-2/ nếu bạn đang tìm cách thực hiện nó trên Môi trường sản xuất của mình. Có một cách tốt hơn để nhìn vào các truy vấn xem cái này và xem nếu nó giúp http://www.youtube.com/watch?v=vvziPI5OQyE
Công cụ này được gọi là SQL Server Profiler, nó vẫn là một phần của bộ công cụ chuẩn.
'SQL Server Profiler' ở đâu? Trong MS SQL Server 2012 của tôi không có thư mục 'Công cụ hiệu suất'. Tôi không thấy bất kỳ công cụ nào khác. Làm cách nào để cài đặt các công cụ này. Tôi nghĩ mọi thứ đã được cài đặt. Profiler có còn trong SQL Server 2012 không? Trường hợp trong cài đặt là những công cụ này? – iefpw
Với phiên bản không thể hiện, nó đi kèm với tùy chọn Công cụ quản lý; các phiên bản express không bao gồm Profiler – SqlACID
Bạn đang nói về SQL Profiler.
Tùy thuộc vào quyền của bạn, truy vấn này có thể làm việc:
SELECT sqltext.TEXT,
req.session_id,
req.status,
req.command,
req.cpu_time,
req.total_elapsed_time
FROM sys.dm_exec_requests req
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext
Ref: http://blog.sqlauthority.com/2009/01/07/sql-server-find-currently-running-query-t-sql
Điều này có tác dụng, nhưng có cách nào để tìm ra các giá trị tham số không? – jtate
Có điều này, từ SQL Server DMV của Trong Action cuốn sách:
Kết quả cho thấy các dịch vụ spid (quá trình nhận dạng), ecid (tương tự như một luồng trong cùng một spid và hữu ích cho việc xác định các truy vấn chạy song song), người dùng chạy SQL, trạng thái (cho dù SQL đang chạy hay đang chờ), trạng thái chờ đợi (tại sao nó chờ) , tên máy chủ, tên miền và thời gian bắt đầu (hữu ích để xác định khoảng thời gian chạy hàng loạt).
Phần hay nhất là truy vấn và truy vấn gốc. Điều đó cho thấy, ví dụ, một proc được lưu trữ như là cha mẹ và truy vấn trong proc được lưu trữ đang chạy. Nó rất tiện dụng cho tôi. Tôi mong điều này giúp được người nào khác.
USE master
GO
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SELECT
er.session_Id AS [Spid]
, sp.ecid
, er.start_time
, DATEDIFF(SS,er.start_time,GETDATE()) as [Age Seconds]
, sp.nt_username
, er.status
, er.wait_type
, SUBSTRING (qt.text, (er.statement_start_offset/2) + 1,
((CASE WHEN er.statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
ELSE er.statement_end_offset
END - er.statement_start_offset)/2) + 1) AS [Individual Query]
, qt.text AS [Parent Query]
, sp.program_name
, sp.Hostname
, sp.nt_domain
FROM sys.dm_exec_requests er
INNER JOIN sys.sysprocesses sp ON er.session_id = sp.spid
CROSS APPLY sys.dm_exec_sql_text(er.sql_handle)as qt
WHERE session_Id > 50
AND session_Id NOT IN (@@SPID)
ORDER BY session_Id, ecid
tôi sử dụng các truy vấn dưới đây
SELECT SPID = er.session_id
,STATUS = ses.STATUS
,[Login] = ses.login_name
,Host = ses.host_name
,BlkBy = er.blocking_session_id
,DBName = DB_Name(er.database_id)
,CommandType = er.command
,ObjectName = OBJECT_NAME(st.objectid)
,CPUTime = er.cpu_time
,StartTime = er.start_time
,TimeElapsed = CAST(GETDATE() - er.start_time AS TIME)
,SQLStatement = st.text
FROM sys.dm_exec_requests er
OUTER APPLY sys.dm_exec_sql_text(er.sql_handle) st
LEFT JOIN sys.dm_exec_sessions ses
ON ses.session_id = er.session_id
LEFT JOIN sys.dm_exec_connections con
ON con.session_id = ses.session_id
WHERE st.text IS NOT NULL
Tôi thấy điều này hữu ích hơn nhiều so với các tìm kiếm khác cho các truy vấn hiển thị các công việc đang chạy. Điều này cho thấy máy chủ và đăng nhập, điều này thật tuyệt vời, cảm ơn! – russds
- 1. Liệt kê các truy vấn đang chạy trên SQL Server
- 2. Truy vấn đệ quy SQL Server
- 3. Truy vấn Tab Sql Server 2008
- 4. Truy vấn SQL Server từ PHP
- 5. Truy vấn SQL để thêm cột mới sau cột hiện có trong SQL Server 2005
- 6. Truy vấn ngày tạo bảng SQL Server
- 7. Truy vấn phụ trong SQL Server Compact Edition
- 8. Truy vấn phân cấp trong SQL Server 2005
- 9. Ước tính thời gian truy vấn trong SQL Server
- 10. Truy vấn bên ngoài đang chạy trước truy vấn bên trong
- 11. Truy vấn dữ liệu cấu trúc cây trong SQL Server
- 12. Cách sử dụng truy vấn chọn bên trong truy vấn chèn trong SQL Server 2005
- 13. Truy vấn tương đương trong sql server cho INFORMATION_SCHEMA
- 14. Truy vấn chậm liên tục trên SQL Server 2008
- 15. Cách tạo bảng bằng truy vấn chọn trong SQL Server?
- 16. Kiểu dữ liệu XML Trong truy vấn SQL Server 2008
- 17. Dấu mũ (^) thực hiện trong truy vấn SQL là gì?
- 18. Gracefully chấm dứt truy vấn SQL Server chạy dài từ ADO.NET
- 19. truy vấn sql thực hiện với PreparedStatement
- 20. Sự khác biệt về kế hoạch truy vấn SQL Server
- 21. thực hiện truy vấn sql trên DataTable
- 22. Cách tạo tập lệnh tạo bảng bằng truy vấn SQL trong SQL Server
- 23. Làm cách nào để xem các tham số của các trình chạy hiện đang chạy trong SQL Server 2008
- 24. Hiện đang chạy truy vấn bên trong một thủ tục được lưu trữ
- 25. Nhận thông số cho các truy vấn hiện đang chạy trong PostgreSQL
- 26. Cần trợ giúp Truy vấn SQL Server, Người mới
- 27. tự động hóa truy vấn SQL để chạy mỗi tháng
- 28. Truy vấn xóa SQL Server liên quan đến hai bảng
- 29. SQL Server XML Cột tồn tại() truy vấn
- 30. Chèn Microsoft SQL Server từ truy vấn chọn
SQL Profiler có nghĩa là, không phải là nó? :) –