Yazar Ol Yazar Girişi
Yazar Girişi
E-Posta Adresi
Şifre
Şifremi Unuttum
Asp.Net .Net MVC PHP & MySQL C# PhotoShop CSS jQuery AlgoritmA MsSQL Server HTML Ruby
- Kategoriler -
Türkçe
English
German
Tüm Kategoriler
Mssql de Uyuyan kullanıcıların tespiti
Merhaba arkadaşlar,
başıma geldiği için konuyu açıyorum .net de herhangi bir connection açıp kapatmadığınızda pooling hatası vermektedir.
Bu hata sql serverda sleeping statusuna ait kullanıcı kayıtları oluşturmaktadır. 
Belli bir sayıya ulaştığında da yazılımınız hata verir ve patlar.

Mssql server da açık olan kullanıcıları görmek için sp_who2 veya sp_who yazmanız yeterli olur.

Açık olan bağlantıyı öldürmek için kill spid sini yazmanız gerekiyor.

Bir database ye ait tüm bağlantıları görmek için 
 

DECLARE @Table TABLE(
        SPID INT,
        Status VARCHAR(MAX),
        LOGIN VARCHAR(MAX),
        HostName VARCHAR(MAX),
        BlkBy VARCHAR(MAX),
        DBName VARCHAR(MAX),
        Command VARCHAR(MAX),
        CPUTime INT,
        DiskIO INT,
        LastBatch VARCHAR(MAX),
        ProgramName VARCHAR(MAX),
        SPID_1 INT,
        REQUESTID INT
)

INSERT INTO @Table EXEC sp_who2


SELECT  *
FROM    @Table
WHERE DBName ='Bildiklerimiz'  -- database adi


Bir database ye ait tüm bağlantıları öldürmek için ise
 
DECLARE @kill varchar(8000); SET @kill = '';  
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), spid) + ';'  
FROM master..sysprocesses  
WHERE dbid = db_id('Bildiklerimiz')  --database adi

EXEC(@kill); 

Bu işlem sizin hatanısı gidermez sadece görmenizi sağlar.

Şayet pooling hatası alıyorsanız yapmanız gereken tüm kodlarınızı kontrol etmek açık olan connection bağlantılarının kapandığına emin olun.

iyi çalışmalar.
 
Sosyal Hesabında Paylaş

227 görüntüleme

Yorumlar
Adınız Soyadınız
Mail Adresiniz
Doğrulama Kodu

Bildiklerimiz.Net Bildiklerimizi paylaşıyoruz, bilmediklerimizi öğreniyoruz. biz bunları yapıyoruz ya siz...

© 2019 Bildiklerimiz Tüm hakları saklıdır.
bir Bildiklerimiz.Net projesidir.