Mam program na MSSQL.
Z programu wykonuję skrypty zakładające bazę i aktualizacje. Przed aktualizacją sprawdzam ilość połączeń do bazy. Jeśli tylko jedno połączenie (czyli moje) to można robić aktualizacje.
I mam taki problem.
Na niektórych komputerach działa dobrze a na niektórych cały czas wykrywa więcej niż jedno połączenie. Nawet na nowo założonej bazie (czyli nikogo innego tam nie ma połączonego).
A jak sprawdzam ilość połączeń?
DECLARE @temp TABLE(spid int , ecid int, status varchar(50),
loginname varchar(50),
hostname varchar(50),
blk varchar(50), dbname varchar(50), cmd varchar(50), request_id int)
INSERT INTO @temp
EXEC sp_who
SELECT COUNT(*) FROM @temp WHERE dbname = 'DB NAME'
a także tak:
SELECT DB_NAME(dbid) as DBName,
COUNT(dbid) as ILE
FROM sys.sysprocesses
GROUP BY DB_NAME(dbid)
HAVING DB_NAME(dbid) = 'DB NAME'
Macie jakiś pomysł czemu tak się dzieje?