Vérifier si une base est encours d'utilisation

Signaler
Messages postés
12
Date d'inscription
vendredi 18 juin 2004
Statut
Membre
Dernière intervention
29 décembre 2004
-
Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
-
Bonjour,

en utilisant le Transact-Sql, comment beut on vérifier si une base de données est en cours d'utilisation.

notons que j'utilise SQL SERVER 7.0
merci

______________________________________________________________________
Dieu ne vous juge pas en fonction de votre apparence et de vos richesses, mais Il regarde vos coeurs et observe vos actions

3 réponses

Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
6
Avec une requette de type systeme qui va tester si un utilisateur est connecté sur la base ou pas, ca donnerait quelque chose comme ceci :
----
SELECT
*
FROM
sysprocesses
INNER JOIN sysdatabases
ON sysprocesses.dbid = sysdatabases.dbid
WHERE
(sysdatabases.name = N'LeNomDeTaBase')
----

Si le Nombre de ligne est supérieur à 0 c'est que ta base est occupée avec le champ CMD de process.

Tu peux aussi filtrer sur la situation de

Romelard Fabrice (Alias F___)
Messages postés
12
Date d'inscription
vendredi 18 juin 2004
Statut
Membre
Dernière intervention
29 décembre 2004

ok, merci

juste une question, pouvez vous m'expliquer le role de la lettre "N" dans la clasue "where".
(sysdatabases.name = N 'LeNomDeTaBase')

elle est utilisée dans pas mal de script mais j'arrive pas à trouver une explication.

merci

[i][font =Verdana]__________________________________________________________________________
Dieu ne vous juge pas en fonction de votre apparence et de vos richesses, mais Il regarde vos coeurs et observe vos actions
[/font=
Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
6
Le N' est il me semble pour spécifier que ce qui est juste après sera de type string.
Je ne peux guère t'en dire plus.

Romelard Fabrice (Alias F___)