Sempre que conectamos uma aplicação em nosso banco de dados, um cenário comum acontece. Todos os clientes acabam utilizando um mesmo usuário para autenticar a conexão. Por muitas vezes, isso acaba forçando o administrador de banco de dados a executar alguns comandos extras para tentar identificar exatamente quem esta realizando determinada ação, o que muitas vezes não é 100% preciso.

Uma nova funcionalidade do SQL Server 2016, permite adicionar uma informação extra na abertura de uma nova sessão, possibilitando identificar quem esta realizando determinada ação com um nome qualificado. Trata-se do SESSION_CONTEXT.

O uso do SESSION_CONTEXT é bem simplificado, basta executar um procedimento do SQL Server, passando alguns parâmetros, conforme exemplo abaixo.

Imagine que você queira identificar uma sessão com um código de usuário, os comandos seriam assim:

EXEC sp_set_session_context N’CodigoUsuario’, N’123′

Onde, “CodigoUsuario” é a chave para identificação e “123” valor propriamente. Ainda é possível informar um terceiro parâmetro, que transforma a definição do SESSION_CONTEXT para aquela sessão em somente leitura, ou seja, não poderá ser alterado até que a sessão seja encerrada. Para isso, informa 1 no final.

Recuperar o valor do SESSION_CONTEXT é muito simples, use o seguinte comando, baseado no nome informado:

SELECT SESSION_CONTEXT(N’CodigoUsuario’)

Mais novidades em breve, dúvidas e sugestões altieripereira@outlook.com.

 

😉 até mais.

 

 

 

Anúncios