Bonjour,
Je souhaiterai déconnecter des utilisateurs sur une base SQL 2005 via une requête, quelqu'un en aurait-il une à me proposer ?
Bien entendu, les déconnexions devront s'exécuter "proprement"
Merci pour votre aide.
Bonjour,
Je souhaiterai déconnecter des utilisateurs sur une base SQL 2005 via une requête, quelqu'un en aurait-il une à me proposer ?
Bien entendu, les déconnexions devront s'exécuter "proprement"
Merci pour votre aide.
Bonjour,
Tu peux utiliser ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Alter database DBNAME set single_user with rollback immediate GO Alter database DBNAME set Multi_user with rollback immediate GO
Bonjour,
Attention :
Passe la base de données en SINGLE_USER puis en MULTI_USER immédiatement après (WITH ROLLBACK IMMEDIATE)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ALTER DATABASE DBNAME SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO
Donc seule cette commande suffit pour déconnecter tous les utilisateurs (et applications ! ) de votre base de données ...
Elsuket,
Je viens de retester pour être sur, la commande
suffit effectivement pour deconnecter tous les utilisateurs par contre elle laisse la DB en mode single user.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ALTER DATABASE DBNAME SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO
Voila pourquoi j'enchaine avec la commande pour la remettre en multi_user directement apres
Tchuss,
Dje
Bonjour,
Dans ce cas, vous obtenez probablement une erreur ou au moins un avertissement lors du passage en SINGLE_USER.
Si vous revenez de suite après en MULTI_USER, alors la clause WITH ROLLBACK IMMEDIATE, à mon sens, ne sert à rien.
Salut Elsuket,
Pour ton info (et la mienne par la meme occasion ) j'ai rechercher plus d'info concernant cette commande dans BOL :
Specifies when to roll back incomplete transactions when the database is transitioned from one state to another. If the termination clause is omitted, the ALTER DATABASE statement waits indefinitely if there is any lock on the database. Only one termination clause can be specified, and it follows the SET clauses.
ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
Specifies whether to roll back after the specified number of seconds or immediately.
Donc en gros, le with rollback immediate spécifie de faire un rollback de toutes les transactions en cours directement pour après switcher la DB en mode single user.
Je dirais donc que la clause est indispensable (pour l'usage que l'on veut en faire, cad killer les connections) pour le switch vers le single user mode et facultative pour le basculement vers le multi_user.
Bonne journée,
Dje
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager