none
Multiples conexiones con el mismo user RRS feed

  • Pregunta

  • Tengo sql instalado en mi maquina, donde almaceno mis bases de datos, y en una laptop me conecto al server por medio de la conexion remota,todo bien. El detalle que me fije es que puedo acceder tanto a mi pc como a la laptop con el mismo loggin, como puedo hacer para evitar eso?
    martes, 14 de junio de 2011 19:03

Respuestas

  • Puedes saber desde que máquina así

    select login_name,nt_user_name,host_name,* from sys.dm_exec_sessions where session_id=@@spid
    
     
    
    

     

    ADemás en tu cadena de conexión puedes especificar en APP_Name un nombre que te identifique otros usuarios (como los propios de tu aplicacion) y así hacer el seguimentno

     

     

     

     

    Comparte lo que sepas, aprende lo que no sepas (FGG) http://www.portalsql.com
    martes, 14 de junio de 2011 22:04
    Moderador

Todas las respuestas

  • Hola.

    En principio, este es el comportamiento normal y de hecho es lo que se precisa para la inmensa mayoría de las situaciones, aunque puedes llegar a configurar alguna cosa que impida un segundo login para un usuario. ¿Qué motivos te llevan a querer limitar a un sólo acceso?


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/ Sígueme en twitter en http://twitter.com/qwalgrande

    martes, 14 de junio de 2011 20:47
    Moderador
  • Como bien te dice Alberto, ese es el comportamiento por defecto.

    No hay forma de limitarlo digamos estandard.  En cualquier caso este par de queries te dicen quien está y dependiendo de lo que necesites hacer (más en detalle) igual podemos usar DDL triggers por ejemplo para evitar una segunda conexion.

    select * from sys.dm_exec_sessions where login_name=ORIGINAL_LOGIN() and session_id!=@@spid
    


     


    Comparte lo que sepas, aprende lo que no sepas (FGG) http://www.portalsql.com
    martes, 14 de junio de 2011 21:14
    Moderador
  • Gracias por sus respuestas, no sabia que ese comportamiento de SQL era por defecto, bueno les preguntaba eso porque estoy practicando con una pequeña aplicacion que conecta a la base de datos por medio de una cadena de conexion que usa el nombre de usuario y la contraseña de los que tengan permisos a la base de datos, y por medio de los disparadores capturar lo que hace cada usuario, tengo esa aplicacion funcionando en mi pc donde esta mi servidor y en la laptop para conectarce por medio de la conexion remota, entonces cuando abro la aplicacion me deja conectar por medio de un mismo usuario en diferentes sitios, lo mismo que ocurre con el sql al querer conectar remotamente o directo al servidor, el mismo usuario me deja entrar en ambas maquinas.

     

    Quizas no sea la manera mas adecuada de dar permisos a un usuario de una aplicacion por medio de loggins de sql server, pero hasta los momentos es asi como se capturar lo que hacen los usuarios en mi sistema

    martes, 14 de junio de 2011 21:42
  • Puedes saber desde que máquina así

    select login_name,nt_user_name,host_name,* from sys.dm_exec_sessions where session_id=@@spid
    
     
    
    

     

    ADemás en tu cadena de conexión puedes especificar en APP_Name un nombre que te identifique otros usuarios (como los propios de tu aplicacion) y así hacer el seguimentno

     

     

     

     

    Comparte lo que sepas, aprende lo que no sepas (FGG) http://www.portalsql.com
    martes, 14 de junio de 2011 22:04
    Moderador