none
Como saber alguns dados do sql server? RRS feed

  • Pergunta

  • Objetivo1: Pegar os números de máquinas diferentes que acessaram o banco de dados nos últimos 10 dias.

    Objetivo2: Pegar algum número (parâmetro, data da instalação) que seja fixo sempre para aquele sql server. Mas diferente para outras instalações do Sql Server.

    Explicação: Estou bolando uma maneira de proteger o meu software contra pirataria. Pretendo basear a senha que é pedida mensalmente para o usuário em algum número do Sql server que é fixo apenas para aquela instalação. Pretendo pegar também o número de máquinas que logaram no sql server em um data período de tempo.

    sábado, 29 de maio de 2010 12:31

Todas as Respostas

  • Boa noite Thiago,

    No seu caso você pode usar TRIGGER DE LOGON

    Neste link tem mais informações>: http://arodrigueslopes.spaces.live.com/default.aspx?_c11_BlogPart_BlogPart=blogview&_c=BlogPart&partqs=cat%3DTriggers&sa=26602901

     

    Mensagem do Junior Galvao em outro tópico:

    Você poderia utilizar as funções:

     

    • Current_User --> equivalente a User_Name();
    • User_Name() --> retorna o nome do usuário conectado ao banco de dados, de acordo com id especificado;
    • Session_User --> retorna o nome do usuário de acordo com o contexto de banco de dados;
    • Suser_Name() --> retorna o nome do usuário;
    • Suser_ID() --> retorna o identificador do login associado ao nome do usuário;
    • Suser_SID() --> retorna o SID associado ao nome do login;
    • Suser_SName() --> retorna o nome do login associado ao SID;
    • System_User --> retorna o nome do login no banco de dados corrrente, de acordo com as informações na system tables sys.sysusers dentro do atual conectado.User --> retorna o nome do usuário no banco de dados corrrente, de acordo com as informações na system tables sys.sysusers dentro do atual conectado.


    domingo, 30 de maio de 2010 02:44
  • Kleito,

    Obrigado por fazer referência aos funções que destaquei.

    Thiago,

    A nível de curiosidade, de que forma você pretende armazenar as informações do usuário?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    terça-feira, 1 de junho de 2010 13:06
  • Junior explicarei como eu faço hoje e o que eu quero fazer.

    Hoje eu gero uma senha baseada no cnpj do cliente. Só que recentemente descobri que alguns funcionários mudavam o cnpj criptografado do cliente. Então eu pensei no seguinte: Se eu pegar, por exemplo, um Id gerado pelo sql server na hora da instalação e gravar no sistema aqui da minha empresa eu resolveria o problema. Pois na hora de renovar a senha eu leria o dado do sql server (através de alguma função) e usuaria o dado para renovar a senha.

    Explicação passo-a-passo:

    1 Passo: Pegar um parâmetro do sql server (vamos supor a data que foi instalado o sql server)

    2 Passo: Gravar o dado no sistema da softhouse vinculando este dado com o CNPJ do cliente.

    3 Passo: Criptografar a Data que expira o sistema com base neste dado.

    4 Passo: O cliente clica em renovar senha. O sistema da softhouse recebe o CNPJ e o dado. Ele então checa se o dado bate para aquele cnpj no cadastro da softhouse.

     Conclusão: O funcionário não consegue alterar o fonte porque não tem acesso então tudo que eu não posso deixar são 2 coisas.

    Primeiro Cuidado: Criar um indice no banco da softhouse (que fica na net) para não ter mais de um parâmetro igual.

    Segundo Cuidado: Escolher um parâmetro do sql server que não se repete.

    Meu problema está sendo achar um parametro do sql server que não se repete. Sei que o MAC da placa de rede não repete e nem o ID da placa mãe. Não tem nenhum ID do sql server por exemplo ?

    terça-feira, 1 de junho de 2010 15:03
  • Thiago, o banco é 2005 ou  2008? Se for, experimente fazer uma CLR em .Net para isso, aí você vincula ela ao banco.
    Tks. Fausto Fiorese Branco MCTS, MCITP/DBA 2005 | MCITP/DBA 2008 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco
    terça-feira, 1 de junho de 2010 17:15
  • Por ser um sistema de automação comercial, temos mais de mil clientes. A maioria está em sql server 2000.

    quarta-feira, 2 de junho de 2010 11:33