O bloqueio é um mecanismo usado pelo banco de dados para sincronizar o acesso de vários usuários à mesma parte dos dados simultaneamente.
Antes que uma transação adquira uma dependência de uma parte dos dados no estado atual, como por ler ou modificar os dados, ela deve se proteger contra os efeitos de outra transação que modifique os mesmos dados. A transação faz isso, solicitando um bloqueio na parte dos dados. Os bloqueios têm modos diferentes, como compartilhado ou exclusivo. O modo de bloqueio define o nível de dependência que a transação tem nos dados. Nenhuma transação pode receber um bloqueio que conflite com o modo de um bloqueio já atribuído àqueles dados por outra transação. Se uma transação requisitar um modo de bloqueio que conflite com um bloqueio que já tenha sido atribuído aos mesmos dados, a instância do Mecanismo de Banco de Dados fará uma pausa na transação requerida até que o primeiro bloqueio seja liberado.
Quando uma transação modifica uma parte dos dados, ela mantém o bloqueio protegendo a modificação até o fim da transação. O tempo que uma transação mantém os bloqueios adquiridos, para proteger as operações de leitura, depende da configuração do nível de isolamento da transação. Todos os bloqueios mantidos por uma transação são liberados quando a transação for concluída (confirma ou reverte).
Fonte: http://msdn.microsoft.com/pt-br/library/ms190615(v=sql.105).aspx