Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
1186
Assunto : SQL Server
Titulo: Identificar locks ativos no banco

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Visualizar os locks ativos em determinado momento pode nos dar uma idéia de quantidade, nos dar indicações sobre waits e servir para testes e demonstrações.

A query abaixo não apenas nos mostra os locks ativos, mas nos indica em quais índices esses locks estão sendo realizados. É possível, por exemplo, identificar se duas diferentes instruções estão concorrendo com bloqueios sobre o mesmo índice:


select resource_type,db_name(resource_database_id) [database],request_mode,
request_session_id, request_status, resource_associated_entity_id, indexes.name index_name
from sys.dm_tran_locks
left join sys.partitions on partitions.hobt_id = dm_tran_locks.resource_associated_entity_id
join sys.indexes on indexes.object_id = partitions.object_id and indexes.index_id = partitions.index_id
where db_name(resource_database_id)='Northwind'


É bem simples criarmos uma função utilizando essa query:

CREATE FUNCTION LocksInDatabase
(
-- Add the parameters for the function here
@DatabaseName varchar(50)
)
RETURNS TABLE
AS
RETURN
(
-- Add the SELECT statement with parameter references here

select resource_type,db_name(resource_database_id) [database],request_mode,
request_session_id, request_status, resource_associated_entity_id, indexes.name index_name
from sys.dm_tran_locks
left join sys.partitions on partitions.hobt_id = dm_tran_locks.resource_associated_entity_id
join sys.indexes on indexes.object_id = partitions.object_id and indexes.index_id = partitions.index_id
where db_name(resource_database_id)=@DatabaseName
)
GO


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br