Array
(
)

Cursor para Drop nos Users Criados em um Determinado BD

Mccesar
   - 21 set 2010

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

Mccesar
   - 21 set 2010

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