Có cách nào để lấy văn bản SQL cho một vài truy vấn cuối cùng không?TSQL: Truy vấn cuối cùng Ran
Tôi đang sử dụng Microsoft SQL Server 2005
Có cách nào để lấy văn bản SQL cho một vài truy vấn cuối cùng không?TSQL: Truy vấn cuối cùng Ran
Tôi đang sử dụng Microsoft SQL Server 2005
Vâng, có một cái nhìn, điều này sẽ cung cấp cho bạn 50 câu lệnh SQL được thực hiện gần đây nhất
sql 2005 và chỉ chiếm
SELECT TOP 50 * FROM(SELECT COALESCE(OBJECT_NAME(s2.objectid),'Ad-Hoc') AS ProcName,
execution_count,s2.objectid,
(SELECT TOP 1 SUBSTRING(s2.TEXT,statement_start_offset/2+1 ,
((CASE WHEN statement_end_offset = -1
THEN (LEN(CONVERT(NVARCHAR(MAX),s2.TEXT)) * 2)
ELSE statement_end_offset END)- statement_start_offset)/2+1)) AS sql_statement,
last_execution_time
FROM sys.dm_exec_query_stats AS s1
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2) x
WHERE sql_statement NOT like 'SELECT TOP 50 * FROM(SELECT %'
--and OBJECTPROPERTYEX(x.objectid,'IsProcedure') = 1
ORDER BY last_execution_time DESC
Cách duy nhất tôi biết là để có SQL Server Profiler chạy. Thật không may điều này cần phải được bắt đầu trước khi các truy vấn được thực hiện, vì vậy nếu bạn đang hy vọng để bắt một cái gì đó đã xảy ra trên cơ sở "ad hoc", nó sẽ không phù hợp. Nếu bạn đang cố gắng để theo dõi những gì một đoạn mã đang làm và muốn nắm bắt các truy vấn mà nó thực hiện, nó sẽ làm việc một điều trị.
Nếu sử dụng SQL Server 2005 +:
SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query]
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
ORDER BY deqs.last_execution_time DESC
lớn tip từ SQLAuthority!
37000 (321) [Microsoft] [ODBC SQL Server Driver] [ SQL Server] "sql_handle" không phải là một lựa chọn gợi ý bảng được công nhận. Nếu nó được dự định như một tham số cho một hàm có giá trị bảng, hãy đảm bảo rằng chế độ tương thích cơ sở dữ liệu của bạn được đặt thành 90. –
Giống như tôi đã nói năm 2005 và chỉ lên, cho 2000 chạy profiler. Lần sau chỉ ra phiên bản máy chủ sql nào bạn đang chạy – SQLMenace
Microsoft SQL Server 2005 - 9.00 –