Array
(
)

Como interceptar msg de erro do SQL na sproc sp_dboption

Robertolucio
   - 13 out 2004

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:

Marcus.magalhaes
   - 13 out 2004

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,


Gandalf.nho
   - 13 out 2004

Notificação de Infração às Regras de Conduta :

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


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