Cursor para Drop nos Users Criados em um Determinado BD

21/09/2010

0

Bom dia.
Estou com uma situação para resolver e como não estou acostumado com cursores estou tendo uma certa dificuldade em montar um script, se alguém poder me ajudar com uma dica ou aonde eu possa buscar mais material fico agradecido, a situação segue abaixo:
Preciso montar um cursor que executa um select na tabela sys.database_principals: 
SELECT * FROM sys.database_principals WHERE type = 'S' ANDname NOT IN ('dbo','guest','INFORMATION_SCHEMA','sys')
Depois eu preciso executar o Drop user dos usuários que retornam no select, precisa ser em um cursor, pois ele estará dentro de um script que  executa vários procedimentos no banco, restaura o .bak, trunca tabelas, faz SHRINK, gera backup, etc, todo o script eu já montei só ficou pendente esse cursor, fico no aguardo de dicas e de sugestões.

Obrigado
Marcio Teixeira

Marcio Teixeira

Responder

Posts

21/09/2010

Marcio Teixeira

Já resolvi o meu problema, vou colocar aqui como eu fiz, pode ser que alguem venha a ter o mesmo problema ou parecido.
declare @usuario varchar (50)declare @sql varchar (255)
declare DropUser cursor for
SELECT name FROM sys.database_principals WHERE type = 'S' ANDname NOT IN ('dbo','guest','INFORMATION_SCHEMA','sys')
open DropUserfetch next from DropUser into @usuariowhile (@@fetch_status=0)beginset @sql='DROP USER ' + '[' + @usuario + ']'print @sqlexec(@sql)
fetch next from DropUser into @usuarioendclose DropUserdeallocate DropUser
go

Valeu
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