Forum
Merhabalar,
SQL Server 2005 üzerinde çalışan bir ERP veya Muhasebe programını belirli bir modülünü çalıştırdığımız zaman o anki görüntülenen verileri oluşturan SQL Sorgusunu veritabanı içerisinden görüntüleyebilmem mümkünmüdür. SQL Server kendi içinden çekilen verilere ait bu şekilde bir QUERY Log tutuyormu acaba. Şimdiden çok teşekkür ediyorum..
SQL versiyonun Express değilse PROFILER ile izleme yapabilirsin.
USE
GO
SET
ANSI_NULLS ONGO
SET
QUOTED_IDENTIFIER ONGO
CREATE
PROCEDURE [dbo].[sp_who7](
@SessionID
int = NULL)
AS
BEGIN
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
,SQLStatement =
SUBSTRING
(
qt
.text,er
.statement_start_offset/2,(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
)
,ObjectName = OBJECT_SCHEMA_NAME(qt.objectid,dbid) + '.' + OBJECT_NAME(qt.objectid, qt.dbid)
,ElapsedMS = er.total_elapsed_time
,CPUTime = er.cpu_time
,IOReads = er.logical_reads + er.reads
,IOWrites = er.writes
,LastWaitType = er.last_wait_type
,StartTime = er.start_time
,Protocol = con.net_transport
,transaction_isolation =
CASE ses.transaction_isolation_level
WHEN 0 THEN 'Unspecified'
WHEN 1 THEN 'Read Uncommitted'
WHEN 2 THEN 'Read Committed'
WHEN 3 THEN 'Repeatable'
WHEN 4 THEN 'Serializable'
WHEN 5 THEN 'Snapshot'
END
,ConnectionWrites = con.num_writes
,ConnectionReads = con.num_reads
,ClientAddress = con.client_net_address
,Authentication = con.auth_scheme
FROM
sys.dm_exec_requests erLEFT
JOIN sys.dm_exec_sessions sesON
ses.session_id = er.session_idLEFT
JOIN sys.dm_exec_connections conON
con.session_id = ses.session_idCROSS
APPLY sys.dm_exec_sql_text(er.sql_handle) as qtWHERE
@SessionID IS NULL OR er.session_id = @SessionIDAND
er.session_id > 50ORDER
BYer
.blocking_session_id DESC,er.session_id
END
GO
sp_who7
go
--YUKARIDAKİ KODU ÇALISTIRABİLİRMİSİNİZ
Merhabalar,
Kodu çalıştırdım, oluşan stored procedures'ü çalıştırdığım zaman sonuç olarak istediğim şekilde sonuç vermiyor malesef. Tam olarak istediğim, veritabanı herhangi bir dış kaynak tarafından çalıştırıldığı zaman QUERY olarak karşı tarafın gönderdiği sorgunun ne olduğunu görmek istiyorum..
Calistirdiginizda sql statement alanina baktinizmi
SQL Server profiler ile istediğiniz şekilde queryleri görüntüleyebilirsiniz.