Como interceptar msg de erro do SQL na sproc sp_dboption

13/10/2004

0

Boa tarde,

Estou utilizando a sproc sp_dboption para alterar o status da base de dados para single user. Meu comando seria:

declare @retorno int
EXEC @retorno = sp_dboption ´base_de_dados´, ´single user´, ´true´
IF @retorno = 1
BEGIN
mensagem de erro para o usuario
END

O meu problema é que o SQL SERVER apresenta a sua própria mensagem de erro:
=====================
Server: Msg 5070, Level 16, State 2, Line 1
Database state cannot be changed while other users are using the database ´base_de_dados´
Server: Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
sp_dboption command failed.
=====================

Existe alguma forma de bloquear a mensagem do SQL SERVER?

Pesquisei alguma coisa com os Trace Flags, mas não encontrei o que estou procurando.

Sds
Roberto

[color=green:7aa6efc3bc][b:7aa6efc3bc]Bloqueado(Saviski)[/b:7aa6efc3bc][/color:7aa6efc3bc]

[b:7aa6efc3bc][color=red:7aa6efc3bc]Título editado pelo Moderador (AZ) - Removido: ´Como´[/color:7aa6efc3bc][/b:7aa6efc3bc]


Robertolucio

Robertolucio

Responder

Posts

13/10/2004

Marcus.magalhaes

Boa tarde Roberto.

Realmente não dá para vc inibir este tipo de mensagem, pois parte-se do princípio que isso será feito sempre através de uma das ferramentas do SQL (EM, Query Analyzer ou isql).
Se vc usar o ALTER DATABASE o processo fica locado caso exista alguém utilizando o db.

A melhor forma de vc colocar uma base em single user é forçando, ou seja, derrubando todas as conexões existentes. Para isso vc pode criar um cursor que contenha todos os spid´s das conexões que estão utilizando o db, porem isso deve ser feito com cuidado para evitar que gere algum estresse, por exemplo, utilizar janelas de manutenção previamente agendadas, assim vc terá respaldo para matar qq conexão existente no db.

Att,


Responder

13/10/2004

Gandalf.nho

[b:f582d6e6a5][color=red:f582d6e6a5]Notificação de Infração às Regras de Conduta :[/color:f582d6e6a5][/b:f582d6e6a5]

Tópico duplicado
[url]http://delphiforum.icft.com.br/forum/viewtopic.php?t=53056[/url]


Para maiores esclarecimentos pode mandar-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar