Compartilhando ideias e experiências, principalmente sobre SQL Server.

Identificando o uso de objetos ‘deprecated’ na sua instância.

Quick tip!

A cada nova versão do SQL Server, novos recursos são adicionados e, claro, alguns são removidos ou marcados para futura exclusão (deprecated). O último caso ocorre para que todos tenham tempo para validar e ajustar suas aplicações, afinal, ninguém aqui é doido de aplicar uma nova versão do SQL Server em produção sem validar se a aplicação está rodando adequadamente, né!? NÉ!?!? 🙂

Ok, mas como saber se você está usando um recurso na sua instância que está marcado como deprecated?

Para isso, você pode consultar a sys.dm_os_performance_counters, olhando para a coluna object_name igual à ‘SQLServer:Deprecated Features‘. Os registros que estiverem com a coluna cntr_value maior que 0 (zero) é porque em algum momento o objeto ou recurso foi consultado.

E aí você sabe que está na hora de começar a avaliar e (quem sabe) planejar a alteração.

Ah, você quer saber o que cada registro desse select significa?

https://docs.microsoft.com/pt-br/sql/relational-databases/performance-monitor/sql-server-deprecated-features-object

PS: Honestamente, eu prefiro a versão em inglês, mas para não ter que ouvir ler que temos pouca literatura em português e blábláblá… Fica o link em pt-br (mas se quiser mudar para inglês, troque o pt-br por en-us – Eu recomendo 😉 )

[]’s!!

Read More

Evitando a execução de uma trigger sem precisar desabilitá-la

Olá pessoal!

Gostaria hoje de dar uma dica para quem precisa executar aquele INSERT / UPDATE / DELETE sem disparar a trigger para a tabela… E sem precisar desabilitá-la!

Observação: Você vai precisar alterar a trigger para que funcione, disso você não ter como escapar.

Read More

Divisão de decimal com inteiro, como ficam as casas decimais?

Surgiu a seguinte dúvida no trabalho esse dias que foi mais ou menos assim:

Tenho duas colunas e estou realizando uma divisão entre elas. Qual vai ser o tipo retornado? O SQL Server segue a ordem de precedência do tipo do dado?

De bate pronto, a resposta é um “Sim, ele sempre vai seguir a ordem de precedência e vai retornar o tipo de dado que você está usando que possui maior precedência.”
Porém (sempre tem um porém), isso não é valido para os tipos decimais.

Read More

Trigger: Update() no campo com o mesmo valor, é validado?

Post rápido depois de meses de inércia e blog fora do ar, agora sob novo domínio!

Surgiu uma dúvida onde eu trabalho e eu achei interessante postar aqui um caso de exemplo para futura referência.

A questão: “Se eu fizer um update em uma coluna, mas usando o mesmo valor, o SQL executa a trigger, ok. Mas a função UPDATE(coluna) é validada? O SQL não é inteligente o suficiente para ignorar o update, uma vez que o campo é o mesmo?”

Se quiser parar por aqui, a resposta é um singelo e simples: Não.

Agora, se quiser ver o caso funcionando… 

Read More

#WTF: “The UserLog directory in the registry is not valid.”

Essa entra pra série #WTF (Vivendo e aprendendo).

Ao instalar o Full Text Search em um dos nossos servidores, me deparei com o warning a seguir:

What!?

The User Log directory in the registry is not valid. Verify DefaultLog Key under the instance hive points to a valid directory

Read More
%d blogueiros gostam disto: