Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
MSSQl üzerinde çalışan bir sorgunun durumu hakkında bilgi almak.
#1
Herkese kolaylıklar ve hayırlı işler diliyorum öncelikle.
Hayırlı haftalar.

Ufak bir sorunum var yarımcı olabilecek arkadaşlardan yardım rica ediyorum.


Microsoft SQL Server kullanıyorum.
Çalışan mevcut yapılara bazen index eklemem gerekebiliyor veya çalışan bazı sorgular süreç olarak çok uzun zaman aldığından timeout a düşebiliyor. Bu Bazen bilgisayar kaynaklı bazen index kaynaklı olduğu için hem tespit yapabilmek hemde çalışan sorgunun durumunu anlayabilmek adına  çalıştırdığım sorgunun şu an ne aşamada olduğunu görebilir miyim. (mesela %10  ,  %20 gibi    veya    3500 / 10000  gibi maksat devam süreç hakkında bilgi sahibi olmak . Bunu SQl üzerinde ve Delphi üzerinde nasıl takip edebilirim. Bazı indexlerin bilgisayar üzerinden belli aralıklarla yapılması gerekiyor Bunun içinde bir önzileme ekranı hiç fena olmaz. Bu konuda yardım rica ediyorum.
Cevapla
#2
(20-09-2021, Saat: 10:30)Bay_Y Adlı Kullanıcıdan Alıntı: Herkese kolaylıklar ve hayırlı işler diliyorum öncelikle.
Hayırlı haftalar.

Ufak bir sorunum var yarımcı olabilecek arkadaşlardan yardım rica ediyorum.


Microsoft SQL Server kullanıyorum.
Çalışan mevcut yapılara bazen index eklemem gerekebiliyor veya çalışan bazı sorgular süreç olarak çok uzun zaman aldığından timeout a düşebiliyor. Bu Bazen bilgisayar kaynaklı bazen index kaynaklı olduğu için hem tespit yapabilmek hemde çalışan sorgunun durumunu anlayabilmek adına  çalıştırdığım sorgunun şu an ne aşamada olduğunu görebilir miyim. (mesela %10  ,  %20 gibi    veya    3500 / 10000  gibi maksat devam süreç hakkında bilgi sahibi olmak . Bunu SQl üzerinde ve Delphi üzerinde nasıl takip edebilirim. Bazı indexlerin bilgisayar üzerinden belli aralıklarla yapılması gerekiyor Bunun içinde bir önzileme ekranı hiç fena olmaz. Bu konuda yardım rica ediyorum.

Management studio da kırmızı ile işaretlediğim button a tıkladıktan sonra çalıştırırsanız tüm süreçleri ve cost verilerine ulaşırsınız. Ayrıca sorgunuza lazım olan fakat tanımlamadığınız indexler varsa "Missing Index" yazarak sizi uyarır. Delphi tarafında da yine TSQL aracılığı ile bu verilere erişilebiliniyor.

[img]im22pm1.png[/img]
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#3
Cevabınız için teşekkür ediyorum Ali bey bahsettiğim bu değildi sanırım tam olarak anlatamadım. (aslında sonuç doğru sayılabilir çünkü bu da canlı olarak süreci takip ediyor.)

Ama istediğim çalışma esnasında bu süreç bilgilerini alıp delphi üzerinde işleyebilmek ve son kullanıcıya göstermek . ( anlaşılır olsun diye bir örnek vermek istiyorum. Yani bir tabloyu düşünün indexleme yapılacak. Başla dediğinde %1,2,3,4,5, gibi anlık görebileceğim o verilere ulaşabileceğim bir durumdan bahsediyorum.)

Yine de cevabınız için teşekkür ediyorum.
sanırım bunu karşılayan bir sorgu bulabilirim.


ZbGMS.png
Cevapla
#4
profilerdan anlık olarak sorguları ve estimated time gibi bilgilere ulaşabilirsin.
profiler management studio içinde integrated olarak var.
veya azıure data studioya extension ekleyerek ücretsiz bakabilrsin.
Ücretli başka bir çok alternatifte var tabi.
İmam Süleyman Yakub <--> Molla Mustafa Mansur
Evlatlarım!
Cismanımız TÜRK ruhumuz ise İSLAM.
Bu yolda daim olalım her an.
Cevapla
#5
Merhaba,
Aşağıdaki gibi bir kod buldum. Fakat sadece geçen süreyi veriyor. Percent kısmı sürekli 0 olarak kalıyor. Doğru olarak işaretlenen cevaptaki açıklamaları okumanızda fayda var.

SELECT r.session_id,r.command,CONVERT(NUMERIC(6,2),r.percent_complete)
AS [Percent Complete],CONVERT(VARCHAR(20),DATEADD(ms,r.estimated_completion_time,GetDate()),20) AS [ETA Completion Time],
CONVERT(NUMERIC(10,2),r.total_elapsed_time/1000.0/60.0) AS [Elapsed Min],
CONVERT(NUMERIC(10,2),r.estimated_completion_time/1000.0/60.0) AS [ETA Min],
CONVERT(NUMERIC(10,2),r.estimated_completion_time/1000.0/60.0/60.0) AS [ETA Hours],
CONVERT(VARCHAR(1000),(SELECT SUBSTRING(text,r.statement_start_offset/2,
CASE WHEN r.statement_end_offset = -1 THEN 1000 ELSE (r.statement_end_offset-r.statement_start_offset)/2 END)
FROM sys.dm_exec_sql_text(sql_handle)))
FROM sys.dm_exec_requests r WHERE command IN ('Alter Index')
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#6
(20-09-2021, Saat: 18:43)barutali Adlı Kullanıcıdan Alıntı: Merhaba,
Aşağıdaki gibi bir kod buldum. Fakat sadece geçen süreyi veriyor. Percent kısmı sürekli 0 olarak kalıyor. Doğru olarak işaretlenen cevaptaki açıklamaları okumanızda fayda var.

SELECT r.session_id,r.command,CONVERT(NUMERIC(6,2),r.percent_complete)
AS [Percent Complete],CONVERT(VARCHAR(20),DATEADD(ms,r.estimated_completion_time,GetDate()),20) AS [ETA Completion Time],
CONVERT(NUMERIC(10,2),r.total_elapsed_time/1000.0/60.0) AS [Elapsed Min],
CONVERT(NUMERIC(10,2),r.estimated_completion_time/1000.0/60.0) AS [ETA Min],
CONVERT(NUMERIC(10,2),r.estimated_completion_time/1000.0/60.0/60.0) AS [ETA Hours],
CONVERT(VARCHAR(1000),(SELECT SUBSTRING(text,r.statement_start_offset/2,
CASE WHEN r.statement_end_offset = -1 THEN 1000 ELSE (r.statement_end_offset-r.statement_start_offset)/2 END)
FROM sys.dm_exec_sql_text(sql_handle)))
FROM sys.dm_exec_requests r WHERE command IN ('Alter Index')

Teşekkürler , Bende araştırıyorum konu ile ilgili bir sonuca ulaşırsam buradan paylaşacağım.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Lightbulb Mssql ve MS Server Upgrade'i arikeness 1 820 01-08-2025, Saat: 11:22
Son Yorum: maxpaynen
  SQl sorgu sonucunu JSON olarak almak istiyorum. [Çözüldü] Bay_Y 0 771 26-08-2024, Saat: 13:04
Son Yorum: Bay_Y
  triger hakkında basit bir soru. Bay_Y 8 3.061 17-08-2023, Saat: 20:05
Son Yorum: Tuğrul HELVACI
  DBNETLIB Hatası hakkında adelphiforumz 5 3.032 02-06-2023, Saat: 14:18
Son Yorum: Misc-2
  MSSQL Data downgrade (Alt sürüme veri aktarma) işlemleri adelphiforumz 0 1.218 23-03-2023, Saat: 11:13
Son Yorum: adelphiforumz



Konuyu Okuyanlar: 1 Ziyaretçi