Précédent   Forum du club des développeurs et IT Pro > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 02/01/2013, 21h38   #1
h2s84
Modérateur
 
Avatar de h2s84
 
Homme Holty Samba SOW
Développeur .NET
Inscription : mars 2007
Messages : 2 773
Détails du profil
Informations personnelles :
Nom : Homme Holty Samba SOW
Âge : 28
Localisation : Sénégal

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2007
Messages : 2 773
Points : 5 268
Points : 5 268
Envoyer un message via MSN à h2s84 Envoyer un message via Skype™ à h2s84
Par défaut Déterminer le nombre d'utilisateurs connectés



Nous avons application pouvant être installée sur plusieurs postes client ! Chaque application possède un fichier de configuration contenant une chaîne de connexion à la base de données. C'est cette chaîne de connexion qui est utilisée pour exécuter les requêtes de l'application vers la base de données.

Sachant que tous les postes clients utilisent la même chaîne de connexion, existe-il un moyen (une requête) permettant de savoir le nombre de client actuellement connecté sur le SGBDR ?

__________________
Consultant .Net chez SoftFluent
Découvrir notre produit CodeFluent Entities

Adhérer à l'association Fier d'être développeur
Les FAQs sur les technologies .Net voir ici
Les cours et tutos sur les technologies .Net voir ici
Les critiques sur les livres parlant des technologies .Net voir ici
Pensez à la balise [CODE]
Pensez au tag si votre problème est résolu
h2s84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 22h33   #2
sevyc64
Modérateur
 
Avatar de sevyc64
 
Homme Yves
Développeur informatique
Inscription : janvier 2007
Messages : 5 381
Détails du profil
Informations personnelles :
Nom : Homme Yves
Âge : 40
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2007
Messages : 5 381
Points : 12 368
Points : 12 368
Cette information tu peux l'avoir, il me semble dans les outils d'administration de SQLServer, donc certainement accessible aussi via requette.
__________________
--- Sevyc64 ---

Parce que le partage est notre force, la connaissance sera notre victoire
sevyc64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2013, 10h44   #3
h2s84
Modérateur
 
Avatar de h2s84
 
Homme Holty Samba SOW
Développeur .NET
Inscription : mars 2007
Messages : 2 773
Détails du profil
Informations personnelles :
Nom : Homme Holty Samba SOW
Âge : 28
Localisation : Sénégal

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2007
Messages : 2 773
Points : 5 268
Points : 5 268
Envoyer un message via MSN à h2s84 Envoyer un message via Skype™ à h2s84
Oui, je peux l'avoir via la requête suivante
Code sql :
1
2
 
SELECT spid, STATUS, loginame, hostname, blocked, db_name(dbid), cmd FROM master..sysprocesses WHERE db_name(dbid) = 'databasename'
ou
Code sql :
1
2
 
SELECT program_name, hostname, nt_username FROM sysprocesses a JOIN sysdatabases b ON a.dbid = b.dbid WHERE b.name = 'databasename'

Ma question est maintenant comment sont créés les processus lorsqu'on est dans l'un des cas suivants :
  • plusieurs clients utilisent les mêmes identifiants (userid et password identiques) pour se loguer
  • touts les clients utilisent l'authentification windows
__________________
Consultant .Net chez SoftFluent
Découvrir notre produit CodeFluent Entities

Adhérer à l'association Fier d'être développeur
Les FAQs sur les technologies .Net voir ici
Les cours et tutos sur les technologies .Net voir ici
Les critiques sur les livres parlant des technologies .Net voir ici
Pensez à la balise [CODE]
Pensez au tag si votre problème est résolu
h2s84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 12h04   #4
zinzineti
Expert Confirmé
 
Homme Etienne ZINZINDOHOUE
Chargé de Développement et d'Analyse de données
Inscription : mars 2010
Messages : 1 278
Détails du profil
Informations personnelles :
Nom : Homme Etienne ZINZINDOHOUE
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Chargé de Développement et d'Analyse de données
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2010
Messages : 1 278
Points : 2 814
Points : 2 814
Envoyer un message via Yahoo à zinzineti
je suppose que vous travaillez avec un SQL Server < 2005 ... si non noté que sysdatabases est obsolète !
inspirer vous de cette requête :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
SELECT
 
c.session_id [session_id],
 
c.net_transport [protocol],
 
c.auth_scheme [authentification],
 
s.login_time,
 
c.last_read ,
 
c.last_write,
 
s.hostname [client],
 
s.loginame,
 
@@SERVERNAME AS [server],
 
s.program_name,
 
s.STATUS
 
FROM sys.dm_exec_connections c INNER JOIN sys.sysprocesses s ON c.session_id = s.spid
 
WHERE session_id <> @@SPID
pour plus de détails
__________________
Etienne ZINZINDOHOUE
Billets-Articles
zinzineti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 11h52   #5
SQLpro
Rédacteur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 12 170
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 12 170
Points : 21 867
Points : 21 867
Citation:
Envoyé par zinzineti Voir le message
je suppose que vous travaillez avec un SQL Server < 2005 ... si non noté que sysdatabases est obsolète !
inspirer vous de cette requête :
Code :
1
2
3
4
 
SELECT... FROM sys.dm_exec_connections c INNER JOIN sys.sysprocesses s ON c.session_id = s.spid
 
WHERE session_id <> @@SPID
et sys.sysprocesses aussi !!!!

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 01h22.


 
 
 
 
Partenaires

Hébergement Web