none
funcoes user_name() e user_id() do SQL 2005 sempre retornam dbo, porem eu quero saber o nome de quem esta logado RRS feed

  • Pergunta

  • ola pessoal

    estou usando as "funcoes"

    user_name()

    user_id()

    porem, elas sempre me retornam dbo e 1
    porem na barra de status do SQL 2005 aparece Dom\Edu
    como eu faco pra rececer o "Dom\Edu", que consulta ou funcao deve ser feita?
    sendo que "Dom" é o nome do dominio e "Edu" o usuario
    estou tendo que usar o "AUTH_USER" do ASP pra saber que usuario logou, pois uso Login do Windows no SQL 2005, e queria que nem fosse pedido o login para o usuario, que eles pega-se o que esta logado na maquina e o utiliza-se.

    por enqto é só
    t+ pessoa
    falow

    terça-feira, 26 de dezembro de 2006 11:19

Respostas

  • Olá,

    Experimente a função: SYSTEM_USER

    DECLARE @sys_usr char(30);

    SET @sys_usr = SYSTEM_USER;

    SELECT 'The current system user is: '+ @sys_usr;

    GO

     

    terça-feira, 26 de dezembro de 2006 11:59

Todas as Respostas

  • Olá,

    Experimente a função: SYSTEM_USER

    DECLARE @sys_usr char(30);

    SET @sys_usr = SYSTEM_USER;

    SELECT 'The current system user is: '+ @sys_usr;

    GO

     

    terça-feira, 26 de dezembro de 2006 11:59
  • Krusst,

    Só complementando a resposta do Alex, as funcoes que voce estava utilizando (user_name e user_id) retornam o usuario do banco de dados onde voce esta conectado, que neste caso é o proprietario do banco (dbo). Ja a funcao system_user retorna o login do usuario conectado no servidor SQL.

    Abs.

     

    terça-feira, 26 de dezembro de 2006 13:21
  • Valeu Alex
    problema resolvido
    ate mais cara

    segue o codigo
    SELECT USER_ID(SYSTEM_USER)
    se retorna NULL o usuario nao existe do banco de dados
    se retornar INTEIRO é o ID do usuario no banco de dados




    terça-feira, 26 de dezembro de 2006 13:28