Inquiridor
Como saber alguns dados do sql server?

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.
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.
-
-
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] -
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 ?
-
-