SQL Server - Tabla bloqueada

 
Vista:

Tabla bloqueada

Publicado por javier (2 intervenciones) el 25/07/2006 15:43:20
Tengo problemas en sql-server al intentar hacer cualquier select sobre una tabla en concreto. Cualquier select que ejecute no finaliza nunca.
Un simple
select top 1 * from nombreTabla o
select count(*) from nombreTabla
no acaban nunca.

Lo único que se me ocurre es que la tabla esté bloqueada.
¿Alquien sabe como puedo desbloquear la tabla?, si es que se trata de eso.
O en caso de que no sea eso, no se si alguién sabrá de qué se trata y como se puede solucionar.
Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tabla bloqueada

Publicado por Isaías (3308 intervenciones) el 25/07/2006 18:07:37
¿Como quitar el bloque de una tabla?

KILL (SPID) --- spid = id de la conexion de usuario bloqueador

¿Como detectar QUIEN o QUE esta bloqueando?

set nocount on
declare @blocker_spid int, @blockee_spid int, @blockee_blocker int
declare @blockee_waitime int
IF EXISTS (SELECT * FROM master.dbo.sysprocesses WHERE spid IN (SELECT blocked FROM master.dbo.sysprocesses))
BEGIN
DECLARE blocker_cursor CURSOR FOR
SELECT spid FROM master.dbo.sysprocesses WHERE spid IN (SELECT blocked
FROM master.dbo.sysprocesses) AND blocked=0
DECLARE blockee_cursor CURSOR FOR
SELECT spid, blocked, waittime FROM master.dbo.sysprocesses WHERE blocked > 0
OPEN blocker_cursor
FETCH NEXT FROM blocker_cursor INTO @blocker_spid
WHILE (@@FETCH_STATUS =0 )
BEGIN
Select 'Spid Bloqueador: ',@blocker_spid
exec sp_who @blocker_spid
exec sp_executesql N'dbcc inputbuffer(@Param)',N'@Param int',@blocker_spid
--SELECT Blocked = spid FROM master.dbo.sysprocesses WHERE blocked = @blocker_spid
OPEN blockee_cursor
FETCH NEXT FROM blockee_cursor INTO @blockee_spid, @blockee_blocker, @blockee_waitime
WHILE (@@fetch_status = 0)
BEGIN
--SELECT Blocked = spid FROM master.dbo.sysprocesses WHERE blocked = @blocker_spid
--Select 'EE: ', @blockee_blocker, ' Er: ',@blocker_spid
IF (@blockee_blocker=@blocker_spid)
BEGIN
SELECT 'Blockee: Waittime:', @blockee_spid, @blockee_waitime
exec sp_executesql N'dbcc inputbuffer(@Param)',N'@Param int', @blockee_spid
END
FETCH NEXT FROM blockee_cursor INTO @blockee_spid, @blockee_blocker, @blockee_waitime
END
CLOSE blockee_cursor
FETCH NEXT FROM blocker_cursor INTO @blocker_spid
END
CLOSE blocker_cursor
DEALLOCATE blockee_cursor
DEALLOCATE blocker_cursor
--go
END
ELSE
SELECT 'No hay procesos bloqueados!' as Resultado
go
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Tabla bloqueada

Publicado por Isaías (3308 intervenciones) el 25/07/2006 18:08:47
Comentario, NO es "matar" la sesion solamente una solucion facil, debes IDENTIFICAR "Quien o que" esta bloqueando y resolver esto primero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tabla SIGUE bloqueada

Publicado por javier (2 intervenciones) el 28/07/2006 09:58:18
Muchas gracias por tu ayuda
he probado lo que me has mandado pero no tengo ningun proceso bloqueado.

¿que otra cosa puedo hacer?
¿como puedo reparar la tabla?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tabla SIGUE bloqueada

Publicado por Isaías (3308 intervenciones) el 28/07/2006 18:29:47
DBCC CHECKTABLE 'tutable', REPAIR_FAST

O bien:

DBCC CHEDKDB 'tubase'

Donde 'tubase', es el nombre de tu base de datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tabla bloqueada

Publicado por Lili (1 intervención) el 26/12/2007 19:31:09
Me ayudo mucho !!
gracias !!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tabla bloqueada

Publicado por vladimir (1 intervención) el 01/06/2017 17:18:36
gracias, este script es muy util
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar