sql login

26/05/2004 - 21:38 por jacko | Informe spam
hola, alguien me puede decir como puedo saber si un usuario existe en un
servidor sql server, algo como una consulta, por ejemplo desde mi aplicacion
me hace falta saber si el usuario foo esta creado en el servidor y hago esto

IF EXISTS (SELECT [name] FROM sysusers WHERE [name] = 'foo') SELECT 1 ELSE
SELECT 0

pero siempre me devuelve 0, como si no existiera, sin embargo el usurio si
existe
la ayuda dice que en la tabla sysusers es donde se almacenan los usuarios,
pero las consultas que hago sobre esa tabla no me devuelven los usuarios que
he creado en el servidor.
alguien que me ayude con eso por favor.
saludos

Preguntas similare

Leer las respuestas

#6 ulises
28/05/2004 - 07:29 | Informe spam
Creo que en principio no debemos confundir los inicios de sesion
(logins) con los usuarios (users).

1) Si se se realiza a través de autenticación SQL, yo puedo crear un
login con un nombre "inicio" y utilizando ese login crear un usuario
en la base de datos ABC que se llame "usuario", si revisas la tabla
sysusers de ABC no encontraras ninguna referencia a "inicio" que fue
el usuario que utilizaste para autenticarte, la forma de identificar
si "inicio" tiene un usuario en la base de datos ABC sería a través de
:

select count(*)
from master.dbo.syslogins l join ABC.dbo.sysusers u on l.sid = u.sid
where l.name = 'inicio'

2) Si se trata de autenticación windows, si habría un problema, ya que
se pueden (y es lo más común) usar grupos para crear los logins, de
esa manera si se autentica con "DOMINIO\iniciosesion", no va a
encontrar ninguna referencia ni en syslogins ni en sysusers, para ese
caso además de buscar en la forma anterior tendría que buscar con los
grupos a los cuales pertenece ese usuario en el DOMINIO.

Saludos,
Ulises

On Fri, 28 May 2004 00:07:31 -0400, "jacko" wrote:

es que tiene que haber alguna manera de saber si existe un usuario en el
servidor o no, en los Books Online dice sobre la tabla sysusers
sysusers
Contains one row for each Microsoft® Windows user, Windows group, Microsoft
SQL ServerT user, or SQL Server role in the database.

es decir que todos los usuarios estan en esa tabla, lo que no entiendo es
porque no salen cuando se le hace un select a la tabla...

o sea consultas como estas SELECT * FROM SYSUSERS WHERE NAME='BORDON' no
arrojan nada, por que ya eso lo he probado

saludos
Respuesta Responder a este mensaje
#7 Maxi
28/05/2004 - 14:19 | Informe spam
Hola, pero vos que buscabas? inicios de sesion o usuarios de Bdd? de buscar
inicios de sesion tenes razon, de saber usuarios de BDD el metodo que yo te
mande seria una forma.

Bye


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"jacko" escribió en el mensaje
news:
bueno, acabo de ver una cosa...
si en ves de poner SELECT * FROM SYSUSERS, hacemos la consulta a la tabla
sysxlogins de la base de datos master si se puede saber si existe un


usuario
en el servidor o no, asi me funciono a mi.
saludos

"John Jairo Bocachica" wrote in message
news:%23q5Nz%
> Hola, lo que veo es que quieres saber si existe o no un usuario en el
> servidor y lastimosamente no se puede hacer, ya que la tabla SysUsers y


el
> Store procedure sp_helpuser son para ver los usuarios de la base de


datos
> que esta en uso.
>
> John Jairo Bocachica
> Colombia
>
>
> "Maxi" wrote in message
> news:
>> Hola, si quieres usar tablas de sistema para eso ten cuidado
>>
>> 1) en futuras versiones o Service Pack pueden cambiar
>>
>> De todas maneras te mando un ejemplo
>>
>> Veamos este ejemplo y decime como te va ;-)
>>
>>
>> USE TUBDD
>> go
>>
>> IF EXISTS (SELECT * FROM SYSUSERS WHERE NAME='BORDON')
>> PRINT 'EXISTE'
>> ELSE
>> PRINT 'NO EXISTE'
>>
>>
>> ==> >>
>> Si no queres usar Querys podrias usar Stores de sistema como por ej :
>> Sp_helpuser
>>
>> Suerte
>>
>>
>> Salu2
>> Maxi
>> Buenos Aires - Argentina
>> Desarrollador Microsoft 3 Estrellas .NET
>> Nunca consideres el estudio como una obligación sino como
>> una oportunidad para penetrar en el bello y maravillosos
>> mundo del saber.
>> - Albert Einstein
>>
>>
>>
>> "jacko" escribió en el mensaje
>> news:
>>> hola, alguien me puede decir como puedo saber si un usuario existe en


un
>>> servidor sql server, algo como una consulta, por ejemplo desde mi
>> aplicacion
>>> me hace falta saber si el usuario foo esta creado en el servidor y


hago
>> esto
>>>
>>> IF EXISTS (SELECT [name] FROM sysusers WHERE [name] = 'foo') SELECT 1
>>> ELSE
>>> SELECT 0
>>>
>>> pero siempre me devuelve 0, como si no existiera, sin embargo el


usurio
>>> si
>>> existe
>>> la ayuda dice que en la tabla sysusers es donde se almacenan los
>>> usuarios,
>>> pero las consultas que hago sobre esa tabla no me devuelven los


usuarios
>> que
>>> he creado en el servidor.
>>> alguien que me ayude con eso por favor.
>>> saludos
>>>
>>>
>>
>>
>>
>> Outgoing mail is certified Virus Free.
>> Checked by AVG anti-virus system (http://www.grisoft.com).
>> Version: 6.0.688 / Virus Database: 449 - Release Date: 18/05/2004
>>
>>
>
>







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.688 / Virus Database: 449 - Release Date: 18/05/2004
Respuesta Responder a este mensaje
#8 jacko
29/05/2004 - 03:17 | Informe spam
lo que buscaba era inicios de sesion (usuarios del servidor sql server) no
de las bases de datos.
s

"Maxi" wrote in message
news:
Hola, pero vos que buscabas? inicios de sesion o usuarios de Bdd? de
buscar
inicios de sesion tenes razon, de saber usuarios de BDD el metodo que yo
te
mande seria una forma.

Bye


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"jacko" escribió en el mensaje
news:
bueno, acabo de ver una cosa...
si en ves de poner SELECT * FROM SYSUSERS, hacemos la consulta a la tabla
sysxlogins de la base de datos master si se puede saber si existe un


usuario
en el servidor o no, asi me funciono a mi.
saludos

"John Jairo Bocachica" wrote in message
news:%23q5Nz%
> Hola, lo que veo es que quieres saber si existe o no un usuario en el
> servidor y lastimosamente no se puede hacer, ya que la tabla SysUsers y


el
> Store procedure sp_helpuser son para ver los usuarios de la base de


datos
> que esta en uso.
>
> John Jairo Bocachica
> Colombia
>
>
> "Maxi" wrote in message
> news:
>> Hola, si quieres usar tablas de sistema para eso ten cuidado
>>
>> 1) en futuras versiones o Service Pack pueden cambiar
>>
>> De todas maneras te mando un ejemplo
>>
>> Veamos este ejemplo y decime como te va ;-)
>>
>>
>> USE TUBDD
>> go
>>
>> IF EXISTS (SELECT * FROM SYSUSERS WHERE NAME='BORDON')
>> PRINT 'EXISTE'
>> ELSE
>> PRINT 'NO EXISTE'
>>
>>
>> ==>> >>
>> Si no queres usar Querys podrias usar Stores de sistema como por ej :
>> Sp_helpuser
>>
>> Suerte
>>
>>
>> Salu2
>> Maxi
>> Buenos Aires - Argentina
>> Desarrollador Microsoft 3 Estrellas .NET
>> Nunca consideres el estudio como una obligación sino como
>> una oportunidad para penetrar en el bello y maravillosos
>> mundo del saber.
>> - Albert Einstein
>>
>>
>>
>> "jacko" escribió en el mensaje
>> news:
>>> hola, alguien me puede decir como puedo saber si un usuario existe en


un
>>> servidor sql server, algo como una consulta, por ejemplo desde mi
>> aplicacion
>>> me hace falta saber si el usuario foo esta creado en el servidor y


hago
>> esto
>>>
>>> IF EXISTS (SELECT [name] FROM sysusers WHERE [name] = 'foo') SELECT 1
>>> ELSE
>>> SELECT 0
>>>
>>> pero siempre me devuelve 0, como si no existiera, sin embargo el


usurio
>>> si
>>> existe
>>> la ayuda dice que en la tabla sysusers es donde se almacenan los
>>> usuarios,
>>> pero las consultas que hago sobre esa tabla no me devuelven los


usuarios
>> que
>>> he creado en el servidor.
>>> alguien que me ayude con eso por favor.
>>> saludos
>>>
>>>
>>
>>
>>
>> Outgoing mail is certified Virus Free.
>> Checked by AVG anti-virus system (http://www.grisoft.com).
>> Version: 6.0.688 / Virus Database: 449 - Release Date: 18/05/2004
>>
>>
>
>







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.688 / Virus Database: 449 - Release Date: 18/05/2004


Respuesta Responder a este mensaje
#9 Maximiliano Damian Accotto
29/05/2004 - 03:23 | Informe spam
Ahh ok, entonces entendi mal yo!! disculpame !!!

Suerte


Salu2

Maximiliano Damian Accotto
Gerente de IT
Fundicion San Cayetano S.A.
Buenos Aires Argentina
-
maxi_accotto[arroba]speedy[.]com[.].ar
MSN:



"jacko" escribió en el mensaje
news:eKN$
lo que buscaba era inicios de sesion (usuarios del servidor sql server) no
de las bases de datos.
s

"Maxi" wrote in message
news:
> Hola, pero vos que buscabas? inicios de sesion o usuarios de Bdd? de
> buscar
> inicios de sesion tenes razon, de saber usuarios de BDD el metodo que yo
> te
> mande seria una forma.
>
> Bye
>
>
> Salu2
> Maxi
> Buenos Aires - Argentina
> Desarrollador Microsoft 3 Estrellas .NET
> Nunca consideres el estudio como una obligación sino como
> una oportunidad para penetrar en el bello y maravillosos
> mundo del saber.
> - Albert Einstein
>
>
>
> "jacko" escribió en el mensaje
> news:
>> bueno, acabo de ver una cosa...
>> si en ves de poner SELECT * FROM SYSUSERS, hacemos la consulta a la


tabla
>> sysxlogins de la base de datos master si se puede saber si existe un
> usuario
>> en el servidor o no, asi me funciono a mi.
>> saludos
>>
>> "John Jairo Bocachica" wrote in message
>> news:%23q5Nz%
>> > Hola, lo que veo es que quieres saber si existe o no un usuario en el
>> > servidor y lastimosamente no se puede hacer, ya que la tabla SysUsers


y
> el
>> > Store procedure sp_helpuser son para ver los usuarios de la base de
> datos
>> > que esta en uso.
>> >
>> > John Jairo Bocachica
>> > Colombia
>> >
>> >
>> > "Maxi" wrote in message
>> > news:
>> >> Hola, si quieres usar tablas de sistema para eso ten cuidado
>> >>
>> >> 1) en futuras versiones o Service Pack pueden cambiar
>> >>
>> >> De todas maneras te mando un ejemplo
>> >>
>> >> Veamos este ejemplo y decime como te va ;-)
>> >>
>> >>
>> >> USE TUBDD
>> >> go
>> >>
>> >> IF EXISTS (SELECT * FROM SYSUSERS WHERE NAME='BORDON')
>> >> PRINT 'EXISTE'
>> >> ELSE
>> >> PRINT 'NO EXISTE'
>> >>
>> >>
>> >> ==> >> >>
>> >> Si no queres usar Querys podrias usar Stores de sistema como por ej


:
>> >> Sp_helpuser
>> >>
>> >> Suerte
>> >>
>> >>
>> >> Salu2
>> >> Maxi
>> >> Buenos Aires - Argentina
>> >> Desarrollador Microsoft 3 Estrellas .NET
>> >> Nunca consideres el estudio como una obligación sino como
>> >> una oportunidad para penetrar en el bello y maravillosos
>> >> mundo del saber.
>> >> - Albert Einstein
>> >>
>> >>
>> >>
>> >> "jacko" escribió en el mensaje
>> >> news:
>> >>> hola, alguien me puede decir como puedo saber si un usuario existe


en
> un
>> >>> servidor sql server, algo como una consulta, por ejemplo desde mi
>> >> aplicacion
>> >>> me hace falta saber si el usuario foo esta creado en el servidor y
> hago
>> >> esto
>> >>>
>> >>> IF EXISTS (SELECT [name] FROM sysusers WHERE [name] = 'foo') SELECT


1
>> >>> ELSE
>> >>> SELECT 0
>> >>>
>> >>> pero siempre me devuelve 0, como si no existiera, sin embargo el
> usurio
>> >>> si
>> >>> existe
>> >>> la ayuda dice que en la tabla sysusers es donde se almacenan los
>> >>> usuarios,
>> >>> pero las consultas que hago sobre esa tabla no me devuelven los
> usuarios
>> >> que
>> >>> he creado en el servidor.
>> >>> alguien que me ayude con eso por favor.
>> >>> saludos
>> >>>
>> >>>
>> >>
>> >>
>> >>
>> >> Outgoing mail is certified Virus Free.
>> >> Checked by AVG anti-virus system (http://www.grisoft.com).
>> >> Version: 6.0.688 / Virus Database: 449 - Release Date: 18/05/2004
>> >>
>> >>
>> >
>> >
>>
>>
>
>
>
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.688 / Virus Database: 449 - Release Date: 18/05/2004
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida