Forum
Merhaba,
Erp kullanan bir müşterim var. Kullanılan ERP Exe aracılığı ile, server'a sorgular gönderiliyor. (Ürün ara, Firma ara, kaydet vs. farketmez. SQL server ile iletişime geçmiş olması ve herhangi bir sorguyu göndermesi yeterli.)
Son 30 dakika içersinde server'a, Hangi hostname, hangi veritabanına, en son hangi sorguyu göndermiş.
Makine adı | Veritabanı adı | Son sorgu zamanı | Sorgu cümlesi
Aktif kullanıcı sayısını anlamaya çalışıyorum. Yani en son hangi makine sql servera hangi sorguyu göndermiş gibi bir sql scriptine ihtiyacım var.
Elinde böyle bir scripti olan var ise yardımcı olabilir mi ?
Merhaba,
Şöyle bir script hazırladım. Tam olarak istediğimi vermese de az da olsa işimi gördü. Başkalarına lazım olabilir düşüncesi ile scripti paylaşayım.
IF EXISTS (SELECT *
FROM tempdb.dbo.sysobjects
WHERE id = OBJECT_ID('tempdb..#LISTE') AND xtype = 'U') DROP TABLE #LISTE
CREATE TABLE #LISTE (
spid INT
,ecid INT
,status varchar(1024)
,loginame varchar(1024)
,hostname varchar(1024)
,blk INT
,dbname varchar(1024)
,cmd varchar(1024)
,request_id INT
)
INSERT INTO #LISTE (
spid
,ecid
,status
,loginame
,hostname
,blk
,dbname
,cmd
,request_id
)
exec sp_who
SELECT L.hostname, L.dbname, X.last_batch, X.query_text, X.BEKLEYEN_SURE_SAAT FROM
#LISTE L
INNER JOIN (
SELECT
DB_NAME(s.dbid) as DBName,
s.loginame as LoginName,
s.hostname,
(SELECT text FROM sys.dm_exec_sql_text(s.sql_handle)) AS query_text
,s.login_time, s.last_batch
,DATEDIFF(SECOND, s.last_batch, GETDATE()) / 60 / 60 AS BEKLEYEN_SURE_SAAT
FROM sys.sysprocesses s
INNER JOIN (
SELECT loginame, hostname, max(last_batch) as last_batch FROM sys.sysprocesses
where (SELECT text FROM sys.dm_exec_sql_text(sql_handle)) is not null
group by loginame, hostname
) x on s.loginame = x.loginame and s.hostname = x.hostname and s.last_batch = x.last_batch
WHERE
dbid > 0
and (SELECT text FROM sys.dm_exec_sql_text(sql_handle)) is not null
) X ON X.DBName = L.dbname AND X.LoginName = L.loginame AND X.hostname = L.hostname
WHERE ISNULL(L.hostname,'') <> ''
group by L.hostname, L.dbname, X.last_batch, X.query_text, X.LoginName,X.query_text, X.BEKLEYEN_SURE_SAAT
ORDER BY L.hostname
Merhaba,
Bu script te şu an ki sorgular, updateler vb. gibi raporu ve hangi ip olduğunu nasıl görebiliriz.
Tşk.