Error Number: 15434 sql server y Powerbuilder

¿Cómo puedo hacer para eliminar un usuario de la base de datos que haya iniciado sesión y este desconectado? Ya que queda un registro en el monitor de actividad de sql server 2005 express serví pack 3. Y no me deja eliminarlo.
Esto es desde powerbuilder
No se pudo quitar el inicio de sesión 'user'. El usuario tiene una sesión iniciada
Desde SQL server
No se pudo quitar el inicio de sesión 'tra'. El usuario tiene una sesión iniciada. (.Net SqlClient Data Provider)
Server Name: DESKTOP\SQLEXPRESS
Error Number: 15434
Severity: 16
State: 1
Line Number: 2
Hay alguna forma de actualizar el monitor de actividad para terminar la sesión de otra forma para que no quede en el registro de sql server y me permita borrarlo.

1 respuesta

Respuesta
1
Prueba con este código que recorre todos los procesos y los mata lo use alguna vez para realizar backup y como los usuarios dejaban sessiones abiertas yo lo único que quería era matar a todos ya tu lo puedes adaptar.
CREATE TABLE #TmpWho
(Spid INT, ecid INT, status VARCHAR(150), loginame VARCHAR(150),
hostname VARCHAR(150), blk INT, dbname VARCHAR(150), cmd VARCHAR(150))
INSERT INTO #TmpWho
EXEC sp_who
DECLARE @spid INT
DECLARE @tString VARCHAR(15)
DECLARE @getspid CURSOR
SET @getspid = CURSOR FOR
SELECT spid
FROM #TmpWho
WHERE dbname = 'mydb'OPEN @getspid
FETCH NEXT FROM @getspid INTO @spid
WHILE @@FETCH_STATUS = 0
BEGIN
SET @tString = 'KILL ' + CAST(@spid AS VARCHAR(5))
EXEC(@tString)
FETCH NEXT FROM @getspid INTO @spid
END
CLOSE @getspid
DEALLOCATE @getspid
DROP TABLE #TmpWho
PDT.
Links de interes

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas