je dois restaurer une table !
seulement il lui faut l'acces en exclusif !
mais quand je fais alter database mabase set single_user
ca mouline sans fin !
donc je vais prendre une solution plus brutale genre celle qui est presente
dans lentrepirse manager à savoir quand on fait un detacher la base
le close connection !
toutefois j'aimerais cloturer toute les connexions à une base mais en T-SQL
je ne le trouve pas dans la doc ..
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe T [MS]
Bonjour,
Il y a toujours la solution brutale :
<<< DECLARE @command NVARCHAR(500) DECLARE @nt_username SYSNAME DECLARE @spid INT
DECLARE active_users CURSOR LOCAL FOR SELECT RTRIM(nt_username), spid FROM master.dbo.sysprocesses WHERE (dbid = (SELECT dbid FROM master.dbo.sysdatabases WHERE (name = 'MyTest'))) AND (DATALENGTH(RTRIM(nt_username)) > 0)
OPEN active_users FETCH NEXT FROM active_users INTO @nt_username, @spid
WHILE (@@fetch_status = 0) BEGIN SELECT @command = 'KILL ' + CONVERT(nvarchar, @spid) EXECUTE master.dbo.sp_executesql @command
FETCH NEXT FROM active_users INTO @nt_username, @spid END DEALLOCATE active_users
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Ch." wrote in message news:%
je dois restaurer une table ! seulement il lui faut l'acces en exclusif ! mais quand je fais alter database mabase set single_user ca mouline sans fin !
donc je vais prendre une solution plus brutale genre celle qui est presente dans lentrepirse manager à savoir quand on fait un detacher la base le close connection !
toutefois j'aimerais cloturer toute les connexions à une base mais en T-SQL je ne le trouve pas dans la doc ..
Bonjour,
Il y a toujours la solution brutale :
<<<
DECLARE @command NVARCHAR(500)
DECLARE @nt_username SYSNAME
DECLARE @spid INT
DECLARE active_users CURSOR LOCAL FOR
SELECT RTRIM(nt_username), spid
FROM master.dbo.sysprocesses
WHERE (dbid = (SELECT dbid FROM master.dbo.sysdatabases WHERE (name =
'MyTest')))
AND (DATALENGTH(RTRIM(nt_username)) > 0)
OPEN active_users
FETCH NEXT FROM active_users INTO @nt_username, @spid
WHILE (@@fetch_status = 0)
BEGIN
SELECT @command = 'KILL ' + CONVERT(nvarchar, @spid)
EXECUTE master.dbo.sp_executesql @command
FETCH NEXT FROM active_users INTO @nt_username, @spid
END
DEALLOCATE active_users
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Ch." <christophe@ipnet.fr> wrote in message
news:%239W7dqsPGHA.740@TK2MSFTNGP12.phx.gbl...
je dois restaurer une table !
seulement il lui faut l'acces en exclusif !
mais quand je fais alter database mabase set single_user
ca mouline sans fin !
donc je vais prendre une solution plus brutale genre celle qui est
presente dans lentrepirse manager à savoir quand on fait un detacher la
base
le close connection !
toutefois j'aimerais cloturer toute les connexions à une base mais en
T-SQL je ne le trouve pas dans la doc ..
<<< DECLARE @command NVARCHAR(500) DECLARE @nt_username SYSNAME DECLARE @spid INT
DECLARE active_users CURSOR LOCAL FOR SELECT RTRIM(nt_username), spid FROM master.dbo.sysprocesses WHERE (dbid = (SELECT dbid FROM master.dbo.sysdatabases WHERE (name = 'MyTest'))) AND (DATALENGTH(RTRIM(nt_username)) > 0)
OPEN active_users FETCH NEXT FROM active_users INTO @nt_username, @spid
WHILE (@@fetch_status = 0) BEGIN SELECT @command = 'KILL ' + CONVERT(nvarchar, @spid) EXECUTE master.dbo.sp_executesql @command
FETCH NEXT FROM active_users INTO @nt_username, @spid END DEALLOCATE active_users
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Ch." wrote in message news:%
je dois restaurer une table ! seulement il lui faut l'acces en exclusif ! mais quand je fais alter database mabase set single_user ca mouline sans fin !
donc je vais prendre une solution plus brutale genre celle qui est presente dans lentrepirse manager à savoir quand on fait un detacher la base le close connection !
toutefois j'aimerais cloturer toute les connexions à une base mais en T-SQL je ne le trouve pas dans la doc ..
Fred BROUARD
Oui, mais pendant le traitement il y en a qui peuvent se reconnecter.
Mieux vaut un : ALTER DATABASE ... SET SINGLE_USER WITH ROLLBACK IMMEDIATE.
C'est sur et consistant !!!!
A +
Philippe T [MS] a écrit:
Bonjour,
Il y a toujours la solution brutale :
<<< DECLARE @command NVARCHAR(500) DECLARE @nt_username SYSNAME DECLARE @spid INT
DECLARE active_users CURSOR LOCAL FOR SELECT RTRIM(nt_username), spid FROM master.dbo.sysprocesses WHERE (dbid = (SELECT dbid FROM master.dbo.sysdatabases WHERE (name = 'MyTest'))) AND (DATALENGTH(RTRIM(nt_username)) > 0)
OPEN active_users FETCH NEXT FROM active_users INTO @nt_username, @spid
WHILE (@@fetch_status = 0) BEGIN SELECT @command = 'KILL ' + CONVERT(nvarchar, @spid) EXECUTE master.dbo.sp_executesql @command
FETCH NEXT FROM active_users INTO @nt_username, @spid END DEALLOCATE active_users
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Ch." wrote in message news:%
je dois restaurer une table ! seulement il lui faut l'acces en exclusif ! mais quand je fais alter database mabase set single_user ca mouline sans fin !
donc je vais prendre une solution plus brutale genre celle qui est presente dans lentrepirse manager à savoir quand on fait un detacher la base le close connection !
toutefois j'aimerais cloturer toute les connexions à une base mais en T-SQL je ne le trouve pas dans la doc ..
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Oui, mais pendant le traitement il y en a qui peuvent se reconnecter.
Mieux vaut un :
ALTER DATABASE ...
SET SINGLE_USER WITH ROLLBACK IMMEDIATE.
C'est sur et consistant !!!!
A +
Philippe T [MS] a écrit:
Bonjour,
Il y a toujours la solution brutale :
<<<
DECLARE @command NVARCHAR(500)
DECLARE @nt_username SYSNAME
DECLARE @spid INT
DECLARE active_users CURSOR LOCAL FOR
SELECT RTRIM(nt_username), spid
FROM master.dbo.sysprocesses
WHERE (dbid = (SELECT dbid FROM master.dbo.sysdatabases WHERE (name =
'MyTest')))
AND (DATALENGTH(RTRIM(nt_username)) > 0)
OPEN active_users
FETCH NEXT FROM active_users INTO @nt_username, @spid
WHILE (@@fetch_status = 0)
BEGIN
SELECT @command = 'KILL ' + CONVERT(nvarchar, @spid)
EXECUTE master.dbo.sp_executesql @command
FETCH NEXT FROM active_users INTO @nt_username, @spid
END
DEALLOCATE active_users
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Ch." <christophe@ipnet.fr> wrote in message
news:%239W7dqsPGHA.740@TK2MSFTNGP12.phx.gbl...
je dois restaurer une table !
seulement il lui faut l'acces en exclusif !
mais quand je fais alter database mabase set single_user
ca mouline sans fin !
donc je vais prendre une solution plus brutale genre celle qui est
presente dans lentrepirse manager à savoir quand on fait un detacher la
base
le close connection !
toutefois j'aimerais cloturer toute les connexions à une base mais en
T-SQL je ne le trouve pas dans la doc ..
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Oui, mais pendant le traitement il y en a qui peuvent se reconnecter.
Mieux vaut un : ALTER DATABASE ... SET SINGLE_USER WITH ROLLBACK IMMEDIATE.
C'est sur et consistant !!!!
A +
Philippe T [MS] a écrit:
Bonjour,
Il y a toujours la solution brutale :
<<< DECLARE @command NVARCHAR(500) DECLARE @nt_username SYSNAME DECLARE @spid INT
DECLARE active_users CURSOR LOCAL FOR SELECT RTRIM(nt_username), spid FROM master.dbo.sysprocesses WHERE (dbid = (SELECT dbid FROM master.dbo.sysdatabases WHERE (name = 'MyTest'))) AND (DATALENGTH(RTRIM(nt_username)) > 0)
OPEN active_users FETCH NEXT FROM active_users INTO @nt_username, @spid
WHILE (@@fetch_status = 0) BEGIN SELECT @command = 'KILL ' + CONVERT(nvarchar, @spid) EXECUTE master.dbo.sp_executesql @command
FETCH NEXT FROM active_users INTO @nt_username, @spid END DEALLOCATE active_users
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Ch." wrote in message news:%
je dois restaurer une table ! seulement il lui faut l'acces en exclusif ! mais quand je fais alter database mabase set single_user ca mouline sans fin !
donc je vais prendre une solution plus brutale genre celle qui est presente dans lentrepirse manager à savoir quand on fait un detacher la base le close connection !
toutefois j'aimerais cloturer toute les connexions à une base mais en T-SQL je ne le trouve pas dans la doc ..
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Philippe T [MS]
Bonjour,
Tu as entièrement raison.
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Fred BROUARD" wrote in message news:%
Oui, mais pendant le traitement il y en a qui peuvent se reconnecter.
Mieux vaut un : ALTER DATABASE ... SET SINGLE_USER WITH ROLLBACK IMMEDIATE.
C'est sur et consistant !!!!
A +
Philippe T [MS] a écrit:
Bonjour,
Il y a toujours la solution brutale :
<<< DECLARE @command NVARCHAR(500) DECLARE @nt_username SYSNAME DECLARE @spid INT
DECLARE active_users CURSOR LOCAL FOR SELECT RTRIM(nt_username), spid FROM master.dbo.sysprocesses WHERE (dbid = (SELECT dbid FROM master.dbo.sysdatabases WHERE (name = 'MyTest'))) AND (DATALENGTH(RTRIM(nt_username)) > 0)
OPEN active_users FETCH NEXT FROM active_users INTO @nt_username, @spid
WHILE (@@fetch_status = 0) BEGIN SELECT @command = 'KILL ' + CONVERT(nvarchar, @spid) EXECUTE master.dbo.sp_executesql @command
FETCH NEXT FROM active_users INTO @nt_username, @spid END DEALLOCATE active_users
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Ch." wrote in message news:%
je dois restaurer une table ! seulement il lui faut l'acces en exclusif ! mais quand je fais alter database mabase set single_user ca mouline sans fin !
donc je vais prendre une solution plus brutale genre celle qui est presente dans lentrepirse manager à savoir quand on fait un detacher la base le close connection !
toutefois j'aimerais cloturer toute les connexions à une base mais en T-SQL je ne le trouve pas dans la doc ..
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Bonjour,
Tu as entièrement raison.
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Fred BROUARD" <brouardf@club-internet.fr> wrote in message
news:%23lWjn9VQGHA.1088@tk2msftngp13.phx.gbl...
Oui, mais pendant le traitement il y en a qui peuvent se reconnecter.
Mieux vaut un :
ALTER DATABASE ...
SET SINGLE_USER WITH ROLLBACK IMMEDIATE.
C'est sur et consistant !!!!
A +
Philippe T [MS] a écrit:
Bonjour,
Il y a toujours la solution brutale :
<<<
DECLARE @command NVARCHAR(500)
DECLARE @nt_username SYSNAME
DECLARE @spid INT
DECLARE active_users CURSOR LOCAL FOR
SELECT RTRIM(nt_username), spid
FROM master.dbo.sysprocesses
WHERE (dbid = (SELECT dbid FROM master.dbo.sysdatabases WHERE (name =
'MyTest')))
AND (DATALENGTH(RTRIM(nt_username)) > 0)
OPEN active_users
FETCH NEXT FROM active_users INTO @nt_username, @spid
WHILE (@@fetch_status = 0)
BEGIN
SELECT @command = 'KILL ' + CONVERT(nvarchar, @spid)
EXECUTE master.dbo.sp_executesql @command
FETCH NEXT FROM active_users INTO @nt_username, @spid
END
DEALLOCATE active_users
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Ch." <christophe@ipnet.fr> wrote in message
news:%239W7dqsPGHA.740@TK2MSFTNGP12.phx.gbl...
je dois restaurer une table !
seulement il lui faut l'acces en exclusif !
mais quand je fais alter database mabase set single_user
ca mouline sans fin !
donc je vais prendre une solution plus brutale genre celle qui est
presente dans lentrepirse manager à savoir quand on fait un detacher la
base
le close connection !
toutefois j'aimerais cloturer toute les connexions à une base mais en
T-SQL je ne le trouve pas dans la doc ..
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Fred BROUARD" wrote in message news:%
Oui, mais pendant le traitement il y en a qui peuvent se reconnecter.
Mieux vaut un : ALTER DATABASE ... SET SINGLE_USER WITH ROLLBACK IMMEDIATE.
C'est sur et consistant !!!!
A +
Philippe T [MS] a écrit:
Bonjour,
Il y a toujours la solution brutale :
<<< DECLARE @command NVARCHAR(500) DECLARE @nt_username SYSNAME DECLARE @spid INT
DECLARE active_users CURSOR LOCAL FOR SELECT RTRIM(nt_username), spid FROM master.dbo.sysprocesses WHERE (dbid = (SELECT dbid FROM master.dbo.sysdatabases WHERE (name = 'MyTest'))) AND (DATALENGTH(RTRIM(nt_username)) > 0)
OPEN active_users FETCH NEXT FROM active_users INTO @nt_username, @spid
WHILE (@@fetch_status = 0) BEGIN SELECT @command = 'KILL ' + CONVERT(nvarchar, @spid) EXECUTE master.dbo.sp_executesql @command
FETCH NEXT FROM active_users INTO @nt_username, @spid END DEALLOCATE active_users
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Ch." wrote in message news:%
je dois restaurer une table ! seulement il lui faut l'acces en exclusif ! mais quand je fais alter database mabase set single_user ca mouline sans fin !
donc je vais prendre une solution plus brutale genre celle qui est presente dans lentrepirse manager à savoir quand on fait un detacher la base le close connection !
toutefois j'aimerais cloturer toute les connexions à une base mais en T-SQL je ne le trouve pas dans la doc ..
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************