Por nada, para eso estamos :-)

-----------------------------------------------------------
Microsoft MVP en SQL Server
Mentor asociado en SQLTotalConsulting
Excelencia en servicios y consultoria  SQLServer
www.sqltotalconsulting.com
-----------------------------------------------------------

2008/3/17, Daniel W Trück <[EMAIL PROTECTED]>:
> Si señor.
>
> Gracias por el consejo !
>
>
> On Mon, Mar 17, 2008 at 9:01 PM, Maxi Accotto <[EMAIL PROTECTED]>
> wrote:
> > Hola, no esta nada mal el codigo pero te debo decir algunas cositas
> >
> > 1) No uses tablas del sistema, Ms no te asegura que no hara cambios
> > entre versiones ni entre hot fix, con lo cual podes reemplazar el uso
> > de mas.sysdatabase por las vistas INFORMATION_SCHEMA.
> >
> > 2) Si vas a usar SQL dinamico usa sp_executesql y no EXEC, este ultimo
> > carece de muchas caracteristicas importantes.
> >
> > De todas maneras lo mas recomendable en estos casos es armar grupos y
> > a los usuarios ponerlos dentro de esos grupos, luego en las bases de
> > datos se les da persimos a los grupos y no usuario por usuario!
> >
> >
> >
> -----------------------------------------------------------
> > Microsoft MVP en SQL Server
> > Mentor asociado en SQLTotalConsulting
> > Excelencia en servicios y consultoria  SQLServer
> > www.sqltotalconsulting.com
> >
> -----------------------------------------------------------
> >
> > 2008/3/17, Daniel W Trück <[EMAIL PROTECTED]>:
> >
> > >
> >
> > > Juanca
> > >
> > > Fijate si algo asi te sirve
> > >
> > > DECLARE cBases scroll cursor
> > > FOR
> > >     SELECT [name]
> > >     FROM master..sysdatabases
> > > OPEN cBases
> > >
> > > FETCH NEXT FROM cBases into @base
> > > WHILE @@FETCH_STATUS = 0
> > >
> > > BEGIN
> > >             EXEC  ( 'use '[EMAIL PROTECTED]' EXEC sp_addrole...')
> > >             EXEC (@exec)
> > >             FETCH NEXT FROM cBases into @base
> > > END
> > >
> > > Mas o menos es lo que uso para backup y funciona.
> > >
> > > Saludos
> > >
> > >
> > >
> > > On Mon, Mar 17, 2008 at 4:24 PM, Juan Carlos Barrios
> > > <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> >
> > > > hola a todos!
> > > > estoy usando sql 2000 y vb6.
> > > >
> > > > quiero crear un usuario y darle permiso de uso en
> > > > distintas base de datos.
> > > > creo el usuario y le doy permiso a la primera db pero
> > > > dentro de un sp no se puede hacer un USE para cambiar
> > > > de base y correr sp_addrole en la otra db, que puedo
> > > > hacer
> > > >
> > > >
> > > > create proc proc_nuevo_usuario
> > > >        @usuario as varchar(12),
> > > >        @pws as varchar(12)
> > > >
> > > > as
> > > >
> > > > EXEC sp_addlogin @usuario, @pws
> > > > exec sp_defaultdb @usuario, @usuario
> > > >
> > > > exec sp_addrole 'usuarios'
> > > >
> > > > EXEC sp_grantdbaccess @usuario, @usuario
> > > >
> > > > exec sp_addrolemember 'usuarios', @usuario
> > > >
> > > >
> > > > EXEC sp_addrolemember 'db_datareader', 'usuarios'
> > > > EXEC sp_addrolemember 'db_datawriter', 'usuarios'
> > > >
> > > > --*************************************************
> > > >
> > > > use pagos
> > > >
> > > > exec sp_addrole 'usuarios'
> > > >
> > > > EXEC sp_grantdbaccess @usuario, @usuario
> > > >
> > > >
> > > >
> > > > <P>Juan Carlos Barrios</P>
> > > > Lider de Proyectos
> > > > Axyonar
> > > > www.axyonar.com.ar
> > > > [EMAIL PROTECTED]
> > > > cel. 15 6181-1094
> > > > <P> te (011) 6091-3030</P>
> > > >
> > > >
> > > >      Yahoo! Encuentros.
> > > >
> > > > Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo!
> > > Encuentros
> > > http://yahoo.cupidovirtual.com/servlet/NewRegistration
> > > >
> > > >
> > >
> > >
> >
> >
> > --
> >
> >
>
>


-- 
-----------------------------------------------------------
Microsoft MVP en SQL Server
Mentor asociado en SQLTotalConsulting
Excelencia en servicios y consultoria  SQLServer
www.sqltotalconsulting.com
-----------------------------------------------------------

Responder a