Bonjour,
Je voudrais une PS ou une commande pour deconnecter tous les utilisateurs d'une base de données.
Merci.
Bonjour,
Je voudrais une PS ou une commande pour deconnecter tous les utilisateurs d'une base de données.
Merci.
Si j'ai paru trouver sans chercher c'est que j'ai longtemps cherché sans trouver!
http://taslimanka.developpez.com
bonjour mohamed
pour deconnecter les users, tu fais:
xxx=saisir son spid
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sp_who will xxx
ok ?
C'est plutot kill spid au lieu de will.pour deconnecter les users, tu fais:
Code :
sp_whowill xxx
xxx=saisir son spid
Mais moi je veux deconnecter tous les utilisateurs d'une base de données et je ne voudrai pas utiliser un curseur qui va parcourir tous les users.
Je voudrais quelque chose du type "deconnect_all".
Merci.
Si j'ai paru trouver sans chercher c'est que j'ai longtemps cherché sans trouver!
http://taslimanka.developpez.com
Vous avez deux solutions
ou via
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sp_dboption N'Mabase',N'single',N'true'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ALTER DATABASE Mabase SET SINGLE_USER GO
la deuxieme solution de laurent est cool
n'est ce pas?
Ce n'est pas ma méthode, en fait, je l'ai piqué de SQLPro, tu auras l'occasion de le découvrir.Envoyé par LOEMBA
Merci à vous tous!!
Seulement je suis un peu embété pcq en fait je ne voulais pas qu'une seule personne accede à la fois à ma BdD!!
Ce que je voulais c'était deconnecter tout le monde et restaurer la base de données!!
Par la suite, les gens peuvent se reconnecter!!
Si j'ai paru trouver sans chercher c'est que j'ai longtemps cherché sans trouver!
http://taslimanka.developpez.com
Il n'y a pas de soucis à ce faire :
Procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 sp_dboption N'Mabase',N'single',N'true' --code de Sauvegarde ici sp_dboption N'Mabase',N'single',N'false'
Qqch du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
29
30
31
32
33
34
35
36 create proc sp__TontonFlingueur (@db varchar(30)=NULL) AS /* * Auteur : Fabien Celaia * Date : 18/05/2006 * Desc : Déconnecte tous les utilisateurs d'une base * Parm : - */ BEGIN set nocount on declare @c_spid char(5) declare @cmd varchar(30) declare user_cur cursor for select convert(varchar(5),spid) from master..sysprocesses where dbid=db_id(coalesce(@db, db_name())) and spid <> @@spid and sid > 0 open user_cur fetch next into @c_spid WHILE @@FETCH_STATUS = 0 begin select @cmd = 'Kill '+@c_spid exec (@cmd) fetch next into @c_spid end close user_cur deallocate user_cur END
Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2
N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD
Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
Tu peut toujours en avoir qui se reconnecte pendant l'exécution de la proc...
Moir je préfère :
ALTER DATABASE ... SET SINGLE USER WITH ROLLBACK IMMEDIATE
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Envoyé par SQLpro
Oui, mais pour ça, il faut du 2005. De plus, cela ne répond pas directement à la question puisque
- un utilisateur peut rester connecté
- la demande est de déconnecter, pas d'empêcher les connexions futures
Quant à la solution de Frédéric, ne pas oublier de redonner les accès après coupure !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ALTER DATABASE ... SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE ALTER DATABASE ... SET MULTI_USER WITH NO_WAIT
Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2
N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD
Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
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