Discussion:
Lock para registro
(too old to reply)
RFerrari
2005-12-26 16:14:01 UTC
Permalink
Estou utilizando os seguintes comandos para bloquear um registro porem não
está funcionando. Alguem pode me auxiliar ????

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors WITH (ROWLOCK)

Grato,

Ricardo
Bruno Velaz [i-devnet.com]
2005-12-26 16:37:03 UTC
Permalink
Como eu faço um lock em um registro?

Resposta: O SQL Server automaticamente escolhe o melhor recurso que será
colocado em lock automaticamente. Por exemplo: vamos supor que uma instrução
faça um UPDATE que afete 300 linhas de uma tabela. O SQL Server vai fazer o
lock que for melhor para ele, que podem ser 300 locks de linhas ou quem sabe
um lock de extent ou mesmo um lock de tabela para efetuar esta instrução
UPDATE.

Porém existe como 'forçar' um lock de linha através de um HINT que se
colocar na instrução. Estes HINTS que colocamos em instruções devem ser bem
examinados antes de sua aplicação por vários motivos, entre eles desempenho.
Por exemplo, para forçar um lock de linha em uma instrução UPDATE:

UPDATE TABELA WITH(ROWLOCK)
SET CAMPO = 'NOVO_VALOR'
WHERE CAMPO1 = 9

Espero ter ajudado...qq reply

Bruno Velaz
MCP
www.i-devnet.com

PS: FOI ÚTIL PRA VOCÊ? Então ajude outras pessoas, marque-a como útil.
Post by RFerrari
Estou utilizando os seguintes comandos para bloquear um registro porem não
está funcionando. Alguem pode me auxiliar ????
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors WITH (ROWLOCK)
Grato,
Ricardo
Marcelo Colla
2005-12-26 16:45:26 UTC
Permalink
experimente remover o serialize esse e o nivel de transacao mais alto que
existe.

Abs.
"Bruno Velaz [i-devnet.com]"
Post by Bruno Velaz [i-devnet.com]
Como eu faço um lock em um registro?
Resposta: O SQL Server automaticamente escolhe o melhor recurso que será
colocado em lock automaticamente. Por exemplo: vamos supor que uma instrução
faça um UPDATE que afete 300 linhas de uma tabela. O SQL Server vai fazer o
lock que for melhor para ele, que podem ser 300 locks de linhas ou quem sabe
um lock de extent ou mesmo um lock de tabela para efetuar esta instrução
UPDATE.
Porém existe como 'forçar' um lock de linha através de um HINT que se
colocar na instrução. Estes HINTS que colocamos em instruções devem ser bem
examinados antes de sua aplicação por vários motivos, entre eles desempenho.
UPDATE TABELA WITH(ROWLOCK)
SET CAMPO = 'NOVO_VALOR'
WHERE CAMPO1 = 9
Espero ter ajudado...qq reply
Bruno Velaz
MCP
www.i-devnet.com
PS: FOI ÚTIL PRA VOCÊ? Então ajude outras pessoas, marque-a como útil.
Post by RFerrari
Estou utilizando os seguintes comandos para bloquear um registro porem não
está funcionando. Alguem pode me auxiliar ????
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors WITH (ROWLOCK)
Grato,
Ricardo
RFerrari
2005-12-27 09:46:02 UTC
Permalink
Bom dia,

Com relação a instrução update ok. Porem preciso bloquear o registro
enquanto estiver realizando a instrução select, esse é o problema.

Grato,

Ricardo
Post by Marcelo Colla
experimente remover o serialize esse e o nivel de transacao mais alto que
existe.
Abs.
"Bruno Velaz [i-devnet.com]"
Post by Bruno Velaz [i-devnet.com]
Como eu faço um lock em um registro?
Resposta: O SQL Server automaticamente escolhe o melhor recurso que será
colocado em lock automaticamente. Por exemplo: vamos supor que uma instrução
faça um UPDATE que afete 300 linhas de uma tabela. O SQL Server vai fazer o
lock que for melhor para ele, que podem ser 300 locks de linhas ou quem sabe
um lock de extent ou mesmo um lock de tabela para efetuar esta instrução
UPDATE.
Porém existe como 'forçar' um lock de linha através de um HINT que se
colocar na instrução. Estes HINTS que colocamos em instruções devem ser bem
examinados antes de sua aplicação por vários motivos, entre eles desempenho.
UPDATE TABELA WITH(ROWLOCK)
SET CAMPO = 'NOVO_VALOR'
WHERE CAMPO1 = 9
Espero ter ajudado...qq reply
Bruno Velaz
MCP
www.i-devnet.com
PS: FOI ÚTIL PRA VOCÊ? Então ajude outras pessoas, marque-a como útil.
Post by RFerrari
Estou utilizando os seguintes comandos para bloquear um registro porem não
está funcionando. Alguem pode me auxiliar ????
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors WITH (ROWLOCK)
Grato,
Ricardo
Marcelo Colla
2005-12-27 09:53:48 UTC
Permalink
so um begin tran ja e suficiente, vc. estara protegido pelo isolation mode
padrao read committed.

Abs.
Post by RFerrari
Bom dia,
Com relação a instrução update ok. Porem preciso bloquear o registro
enquanto estiver realizando a instrução select, esse é o problema.
Grato,
Ricardo
Post by Marcelo Colla
experimente remover o serialize esse e o nivel de transacao mais alto que
existe.
Abs.
"Bruno Velaz [i-devnet.com]"
Post by Bruno Velaz [i-devnet.com]
Como eu faço um lock em um registro?
Resposta: O SQL Server automaticamente escolhe o melhor recurso que será
colocado em lock automaticamente. Por exemplo: vamos supor que uma instrução
faça um UPDATE que afete 300 linhas de uma tabela. O SQL Server vai
fazer
o
lock que for melhor para ele, que podem ser 300 locks de linhas ou quem sabe
um lock de extent ou mesmo um lock de tabela para efetuar esta instrução
UPDATE.
Porém existe como 'forçar' um lock de linha através de um HINT que se
colocar na instrução. Estes HINTS que colocamos em instruções devem ser bem
examinados antes de sua aplicação por vários motivos, entre eles desempenho.
UPDATE TABELA WITH(ROWLOCK)
SET CAMPO = 'NOVO_VALOR'
WHERE CAMPO1 = 9
Espero ter ajudado...qq reply
Bruno Velaz
MCP
www.i-devnet.com
PS: FOI ÚTIL PRA VOCÊ? Então ajude outras pessoas, marque-a como útil.
Post by RFerrari
Estou utilizando os seguintes comandos para bloquear um registro porem não
está funcionando. Alguem pode me auxiliar ????
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors WITH (ROWLOCK)
Grato,
Ricardo
RFerrari
2005-12-28 12:56:04 UTC
Permalink
Bom dia,

Mesmo utilizando as instruções begin tran e em seguida select (rowlock)
outros usuarios estão conseguindo acessar o registro utilizando a mesma
instrução select (rowlock).

Abs.
Post by Marcelo Colla
so um begin tran ja e suficiente, vc. estara protegido pelo isolation mode
padrao read committed.
Abs.
Post by RFerrari
Bom dia,
Com relação a instrução update ok. Porem preciso bloquear o registro
enquanto estiver realizando a instrução select, esse é o problema.
Grato,
Ricardo
Post by Marcelo Colla
experimente remover o serialize esse e o nivel de transacao mais alto que
existe.
Abs.
"Bruno Velaz [i-devnet.com]"
Post by Bruno Velaz [i-devnet.com]
Como eu faço um lock em um registro?
Resposta: O SQL Server automaticamente escolhe o melhor recurso que será
colocado em lock automaticamente. Por exemplo: vamos supor que uma instrução
faça um UPDATE que afete 300 linhas de uma tabela. O SQL Server vai
fazer
o
lock que for melhor para ele, que podem ser 300 locks de linhas ou quem sabe
um lock de extent ou mesmo um lock de tabela para efetuar esta instrução
UPDATE.
Porém existe como 'forçar' um lock de linha através de um HINT que se
colocar na instrução. Estes HINTS que colocamos em instruções devem ser bem
examinados antes de sua aplicação por vários motivos, entre eles desempenho.
UPDATE TABELA WITH(ROWLOCK)
SET CAMPO = 'NOVO_VALOR'
WHERE CAMPO1 = 9
Espero ter ajudado...qq reply
Bruno Velaz
MCP
www.i-devnet.com
PS: FOI ÚTIL PRA VOCÊ? Então ajude outras pessoas, marque-a como útil.
Post by RFerrari
Estou utilizando os seguintes comandos para bloquear um registro porem não
está funcionando. Alguem pode me auxiliar ????
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors WITH (ROWLOCK)
Grato,
Ricardo
Marcelo Colla
2005-12-28 13:04:46 UTC
Permalink
nao deveriam, nao use o rowlock somente o begin tran se vc. mudou o
isolation mode para readuncommitted ?
Post by RFerrari
Bom dia,
Mesmo utilizando as instruções begin tran e em seguida select (rowlock)
outros usuarios estão conseguindo acessar o registro utilizando a mesma
instrução select (rowlock).
Abs.
Post by Marcelo Colla
so um begin tran ja e suficiente, vc. estara protegido pelo isolation mode
padrao read committed.
Abs.
Post by RFerrari
Bom dia,
Com relação a instrução update ok. Porem preciso bloquear o registro
enquanto estiver realizando a instrução select, esse é o problema.
Grato,
Ricardo
Post by Marcelo Colla
experimente remover o serialize esse e o nivel de transacao mais alto que
existe.
Abs.
"Bruno Velaz [i-devnet.com]"
Post by Bruno Velaz [i-devnet.com]
Como eu faço um lock em um registro?
Resposta: O SQL Server automaticamente escolhe o melhor recurso que será
colocado em lock automaticamente. Por exemplo: vamos supor que uma instrução
faça um UPDATE que afete 300 linhas de uma tabela. O SQL Server vai
fazer
o
lock que for melhor para ele, que podem ser 300 locks de linhas ou
quem
sabe
um lock de extent ou mesmo um lock de tabela para efetuar esta instrução
UPDATE.
Porém existe como 'forçar' um lock de linha através de um HINT que se
colocar na instrução. Estes HINTS que colocamos em instruções devem
ser
bem
examinados antes de sua aplicação por vários motivos, entre eles desempenho.
UPDATE TABELA WITH(ROWLOCK)
SET CAMPO = 'NOVO_VALOR'
WHERE CAMPO1 = 9
Espero ter ajudado...qq reply
Bruno Velaz
MCP
www.i-devnet.com
PS: FOI ÚTIL PRA VOCÊ? Então ajude outras pessoas, marque-a como útil.
Post by RFerrari
Estou utilizando os seguintes comandos para bloquear um registro
porem
não
está funcionando. Alguem pode me auxiliar ????
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors WITH (ROWLOCK)
Grato,
Ricardo
RFerrari
2005-12-28 19:58:02 UTC
Permalink
alterei o isolation mode para readuncommitted ,não utilizei o rowlock e mesmo
assim não funcionou. Estou testando da seguinte forma:
- estou abrindo duas vezes o query analyzer
- executo o comando (set transacion, begin e select ) em um sessão e depois
em outra e as duas retornam os registros selecionados.
Post by Marcelo Colla
nao deveriam, nao use o rowlock somente o begin tran se vc. mudou o
isolation mode para readuncommitted ?
Post by RFerrari
Bom dia,
Mesmo utilizando as instruções begin tran e em seguida select (rowlock)
outros usuarios estão conseguindo acessar o registro utilizando a mesma
instrução select (rowlock).
Abs.
Post by Marcelo Colla
so um begin tran ja e suficiente, vc. estara protegido pelo isolation mode
padrao read committed.
Abs.
Post by RFerrari
Bom dia,
Com relação a instrução update ok. Porem preciso bloquear o registro
enquanto estiver realizando a instrução select, esse é o problema.
Grato,
Ricardo
Post by Marcelo Colla
experimente remover o serialize esse e o nivel de transacao mais alto que
existe.
Abs.
"Bruno Velaz [i-devnet.com]"
Post by Bruno Velaz [i-devnet.com]
Como eu faço um lock em um registro?
Resposta: O SQL Server automaticamente escolhe o melhor recurso que será
colocado em lock automaticamente. Por exemplo: vamos supor que uma
instrução
faça um UPDATE que afete 300 linhas de uma tabela. O SQL Server vai
fazer
o
lock que for melhor para ele, que podem ser 300 locks de linhas ou
quem
sabe
um lock de extent ou mesmo um lock de tabela para efetuar esta instrução
UPDATE.
Porém existe como 'forçar' um lock de linha através de um HINT que se
colocar na instrução. Estes HINTS que colocamos em instruções devem
ser
bem
examinados antes de sua aplicação por vários motivos, entre eles
desempenho.
UPDATE TABELA WITH(ROWLOCK)
SET CAMPO = 'NOVO_VALOR'
WHERE CAMPO1 = 9
Espero ter ajudado...qq reply
Bruno Velaz
MCP
www.i-devnet.com
PS: FOI ÚTIL PRA VOCÊ? Então ajude outras pessoas, marque-a como útil.
Post by RFerrari
Estou utilizando os seguintes comandos para bloquear um registro
porem
não
está funcionando. Alguem pode me auxiliar ????
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors WITH (ROWLOCK)
Grato,
Ricardo
Marcelo Colla
2005-12-29 08:57:02 UTC
Permalink
nao nao, e para deixar readcommitted o readuncommited vai fazer vc nao locar
foi so um exemplo que citei.

Abs.
Post by RFerrari
alterei o isolation mode para readuncommitted ,não utilizei o rowlock e mesmo
- estou abrindo duas vezes o query analyzer
- executo o comando (set transacion, begin e select ) em um sessão e depois
em outra e as duas retornam os registros selecionados.
Post by Marcelo Colla
nao deveriam, nao use o rowlock somente o begin tran se vc. mudou o
isolation mode para readuncommitted ?
Post by RFerrari
Bom dia,
Mesmo utilizando as instruções begin tran e em seguida select (rowlock)
outros usuarios estão conseguindo acessar o registro utilizando a mesma
instrução select (rowlock).
Abs.
Post by Marcelo Colla
so um begin tran ja e suficiente, vc. estara protegido pelo isolation mode
padrao read committed.
Abs.
Post by RFerrari
Bom dia,
Com relação a instrução update ok. Porem preciso bloquear o registro
enquanto estiver realizando a instrução select, esse é o problema.
Grato,
Ricardo
Post by Marcelo Colla
experimente remover o serialize esse e o nivel de transacao mais
alto
que
existe.
Abs.
"Bruno Velaz [i-devnet.com]"
Post by Bruno Velaz [i-devnet.com]
Como eu faço um lock em um registro?
Resposta: O SQL Server automaticamente escolhe o melhor recurso
que
será
colocado em lock automaticamente. Por exemplo: vamos supor que uma
instrução
faça um UPDATE que afete 300 linhas de uma tabela. O SQL Server vai
fazer
o
lock que for melhor para ele, que podem ser 300 locks de linhas ou
quem
sabe
um lock de extent ou mesmo um lock de tabela para efetuar esta
instrução
UPDATE.
Porém existe como 'forçar' um lock de linha através de um HINT
que
se
colocar na instrução. Estes HINTS que colocamos em instruções devem
ser
bem
examinados antes de sua aplicação por vários motivos, entre eles
desempenho.
UPDATE TABELA WITH(ROWLOCK)
SET CAMPO = 'NOVO_VALOR'
WHERE CAMPO1 = 9
Espero ter ajudado...qq reply
Bruno Velaz
MCP
www.i-devnet.com
PS: FOI ÚTIL PRA VOCÊ? Então ajude outras pessoas, marque-a como
útil.
Post by RFerrari
Estou utilizando os seguintes comandos para bloquear um registro
porem
não
está funcionando. Alguem pode me auxiliar ????
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors WITH (ROWLOCK)
Grato,
Ricardo
RFerrari
2005-12-30 13:06:03 UTC
Permalink
ok. mas para que eu possa bloquear o registro quais comandos devo utilizar.

Grato,

Ricardo
Post by Marcelo Colla
nao nao, e para deixar readcommitted o readuncommited vai fazer vc nao locar
foi so um exemplo que citei.
Abs.
Post by RFerrari
alterei o isolation mode para readuncommitted ,não utilizei o rowlock e mesmo
- estou abrindo duas vezes o query analyzer
- executo o comando (set transacion, begin e select ) em um sessão e depois
em outra e as duas retornam os registros selecionados.
Post by Marcelo Colla
nao deveriam, nao use o rowlock somente o begin tran se vc. mudou o
isolation mode para readuncommitted ?
Post by RFerrari
Bom dia,
Mesmo utilizando as instruções begin tran e em seguida select (rowlock)
outros usuarios estão conseguindo acessar o registro utilizando a mesma
instrução select (rowlock).
Abs.
Post by Marcelo Colla
so um begin tran ja e suficiente, vc. estara protegido pelo isolation mode
padrao read committed.
Abs.
Post by RFerrari
Bom dia,
Com relação a instrução update ok. Porem preciso bloquear o registro
enquanto estiver realizando a instrução select, esse é o problema.
Grato,
Ricardo
Post by Marcelo Colla
experimente remover o serialize esse e o nivel de transacao mais
alto
que
existe.
Abs.
"Bruno Velaz [i-devnet.com]"
Post by Bruno Velaz [i-devnet.com]
Como eu faço um lock em um registro?
Resposta: O SQL Server automaticamente escolhe o melhor recurso
que
será
colocado em lock automaticamente. Por exemplo: vamos supor que uma
instrução
faça um UPDATE que afete 300 linhas de uma tabela. O SQL Server vai
fazer
o
lock que for melhor para ele, que podem ser 300 locks de linhas ou
quem
sabe
um lock de extent ou mesmo um lock de tabela para efetuar esta
instrução
UPDATE.
Porém existe como 'forçar' um lock de linha através de um HINT
que
se
colocar na instrução. Estes HINTS que colocamos em instruções
devem
ser
bem
examinados antes de sua aplicação por vários motivos, entre eles
desempenho.
UPDATE TABELA WITH(ROWLOCK)
SET CAMPO = 'NOVO_VALOR'
WHERE CAMPO1 = 9
Espero ter ajudado...qq reply
Bruno Velaz
MCP
www.i-devnet.com
PS: FOI ÚTIL PRA VOCÊ? Então ajude outras pessoas, marque-a como
útil.
Post by RFerrari
Estou utilizando os seguintes comandos para bloquear um registro
porem
não
está funcionando. Alguem pode me auxiliar ????
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors WITH (ROWLOCK)
Grato,
Ricardo
Marcelo Colla
2006-01-02 09:06:48 UTC
Permalink
abra a tranacao e coloque um where no update, assim ele so bloqueia os
registros dentro do where
Post by RFerrari
ok. mas para que eu possa bloquear o registro quais comandos devo utilizar.
Grato,
Ricardo
Post by Marcelo Colla
nao nao, e para deixar readcommitted o readuncommited vai fazer vc nao locar
foi so um exemplo que citei.
Abs.
Post by RFerrari
alterei o isolation mode para readuncommitted ,não utilizei o rowlock e mesmo
- estou abrindo duas vezes o query analyzer
- executo o comando (set transacion, begin e select ) em um sessão e depois
em outra e as duas retornam os registros selecionados.
Post by Marcelo Colla
nao deveriam, nao use o rowlock somente o begin tran se vc. mudou o
isolation mode para readuncommitted ?
Post by RFerrari
Bom dia,
Mesmo utilizando as instruções begin tran e em seguida select (rowlock)
outros usuarios estão conseguindo acessar o registro utilizando a mesma
instrução select (rowlock).
Abs.
Post by Marcelo Colla
so um begin tran ja e suficiente, vc. estara protegido pelo
isolation
mode
padrao read committed.
Abs.
Post by RFerrari
Bom dia,
Com relação a instrução update ok. Porem preciso bloquear o registro
enquanto estiver realizando a instrução select, esse é o problema.
Grato,
Ricardo
Post by Marcelo Colla
experimente remover o serialize esse e o nivel de transacao mais
alto
que
existe.
Abs.
"Bruno Velaz [i-devnet.com]"
Post by Bruno Velaz [i-devnet.com]
Como eu faço um lock em um registro?
Resposta: O SQL Server automaticamente escolhe o melhor recurso
que
será
colocado em lock automaticamente. Por exemplo: vamos supor que uma
instrução
faça um UPDATE que afete 300 linhas de uma tabela. O SQL
Server
vai
fazer
o
lock que for melhor para ele, que podem ser 300 locks de
linhas
ou
quem
sabe
um lock de extent ou mesmo um lock de tabela para efetuar esta
instrução
UPDATE.
Porém existe como 'forçar' um lock de linha através de um HINT
que
se
colocar na instrução. Estes HINTS que colocamos em instruções
devem
ser
bem
examinados antes de sua aplicação por vários motivos, entre eles
desempenho.
Por exemplo, para forçar um lock de linha em uma instrução
UPDATE TABELA WITH(ROWLOCK)
SET CAMPO = 'NOVO_VALOR'
WHERE CAMPO1 = 9
Espero ter ajudado...qq reply
Bruno Velaz
MCP
www.i-devnet.com
PS: FOI ÚTIL PRA VOCÊ? Então ajude outras pessoas, marque-a como
útil.
Post by RFerrari
Estou utilizando os seguintes comandos para bloquear um registro
porem
não
está funcionando. Alguem pode me auxiliar ????
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors WITH (ROWLOCK)
Grato,
Ricardo
RFerrari
2006-01-02 09:44:02 UTC
Permalink
Obrigado e feliz ano novo.
Post by Marcelo Colla
abra a tranacao e coloque um where no update, assim ele so bloqueia os
registros dentro do where
Post by RFerrari
ok. mas para que eu possa bloquear o registro quais comandos devo utilizar.
Grato,
Ricardo
Post by Marcelo Colla
nao nao, e para deixar readcommitted o readuncommited vai fazer vc nao locar
foi so um exemplo que citei.
Abs.
Post by RFerrari
alterei o isolation mode para readuncommitted ,não utilizei o rowlock e mesmo
- estou abrindo duas vezes o query analyzer
- executo o comando (set transacion, begin e select ) em um sessão e depois
em outra e as duas retornam os registros selecionados.
Post by Marcelo Colla
nao deveriam, nao use o rowlock somente o begin tran se vc. mudou o
isolation mode para readuncommitted ?
Post by RFerrari
Bom dia,
Mesmo utilizando as instruções begin tran e em seguida select (rowlock)
outros usuarios estão conseguindo acessar o registro utilizando a mesma
instrução select (rowlock).
Abs.
Post by Marcelo Colla
so um begin tran ja e suficiente, vc. estara protegido pelo
isolation
mode
padrao read committed.
Abs.
Post by RFerrari
Bom dia,
Com relação a instrução update ok. Porem preciso bloquear o
registro
enquanto estiver realizando a instrução select, esse é o problema.
Grato,
Ricardo
Post by Marcelo Colla
experimente remover o serialize esse e o nivel de transacao mais
alto
que
existe.
Abs.
"Bruno Velaz [i-devnet.com]"
Post by Bruno Velaz [i-devnet.com]
Como eu faço um lock em um registro?
Resposta: O SQL Server automaticamente escolhe o melhor recurso
que
será
colocado em lock automaticamente. Por exemplo: vamos supor que
uma
instrução
faça um UPDATE que afete 300 linhas de uma tabela. O SQL
Server
vai
fazer
o
lock que for melhor para ele, que podem ser 300 locks de
linhas
ou
quem
sabe
um lock de extent ou mesmo um lock de tabela para efetuar esta
instrução
UPDATE.
Porém existe como 'forçar' um lock de linha através de um HINT
que
se
colocar na instrução. Estes HINTS que colocamos em instruções
devem
ser
bem
examinados antes de sua aplicação por vários motivos, entre
eles
desempenho.
Por exemplo, para forçar um lock de linha em uma instrução
UPDATE TABELA WITH(ROWLOCK)
SET CAMPO = 'NOVO_VALOR'
WHERE CAMPO1 = 9
Espero ter ajudado...qq reply
Bruno Velaz
MCP
www.i-devnet.com
PS: FOI ÚTIL PRA VOCÊ? Então ajude outras pessoas, marque-a
como
útil.
Post by RFerrari
Estou utilizando os seguintes comandos para bloquear um
registro
porem
não
está funcionando. Alguem pode me auxiliar ????
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
SELECT au_lname FROM authors WITH (ROWLOCK)
Grato,
Ricardo
Loading...