Infraestrutura

  • Ajuste do Nível de Compatibilidade do Banco de Dados SQL Server

    Objetivo

    Orientar administradores de banco de dados e equipes de implantação sobre como identificar e corrigir problemas relacionados ao Nível de Compatibilidade (Compatibility Level) do banco de dados utilizado pelo Tactium.


    Sintoma

    Durante a execução de scripts de atualização ou procedures do Tactium podem ocorrer erros semelhantes aos abaixo:

    'TRY_CONVERT' is not a recognized built-in function name.
    
    Incorrect syntax near the keyword 'ELSE'.
    
    'TRY_CAST' is not a recognized built-in function name.

    Mesmo quando o servidor utiliza uma versão recente do SQL Server (2019 ou superior).


    Causa

    Embora o SQL Server instalado suporte funções como TRY_CONVERT, TRY_CAST e outros recursos modernos, o banco de dados pode estar configurado com um Nível de Compatibilidade inferior ao exigido pela aplicação.

    Nessa situação, o SQL Server passa a interpretar os comandos utilizando regras de versões antigas, ocasionando falhas na compilação das procedures.


    Como verificar o nível de compatibilidade

    Execute a consulta abaixo:

    SELECT
        name,
        compatibility_level
    FROM sys.databases
    WHERE name = DB_NAME();

    Exemplo de retorno:

    Banco compatibility_level
    CRM 100

    Como identificar a versão do SQL Server

    SELECT @@VERSION;

    Exemplo:

    Microsoft SQL Server 2019
    15.x

    Compatibilidade recomendada

    Versão do SQL Server Compatibility Level
    SQL Server 2012 110
    SQL Server 2014 120
    SQL Server 2016 130
    SQL Server 2017 140
    SQL Server 2019 150
    SQL Server 2022 160

    Como alterar o nível de compatibilidade

    Pré-requisito: possuir permissão de administrador (ALTER DATABASE).

    Execute:

    ALTER DATABASE [NomeDoBanco]
    SET COMPATIBILITY_LEVEL = 150;

    Substitua NomeDoBanco pelo nome do banco do CRM.


    Como confirmar a alteração

    Após executar o comando, valide novamente:

    SELECT
        name,
        compatibility_level
    FROM sys.databases
    WHERE name = DB_NAME();

    Resultado esperado:

    Banco compatibility_level
    CRM 150

    Próximo passo

    Após alterar o nível de compatibilidade:

    • Execute novamente a atualização do Tactium.
    • Reexecute a procedure que apresentou erro.
    • Valide se não existem novas mensagens de compilação.

    Perguntas Frequentes

    O SQL Server é 2019. Por que ocorre esse erro?

    Porque o Compatibility Level do banco está configurado para uma versão antiga (por exemplo, 100 ou 110). O SQL Server executa determinadas instruções respeitando esse nível de compatibilidade.


    Alterar o Compatibility Level atualiza o SQL Server?

    Não.

    O comando altera apenas o comportamento do banco de dados, sem modificar a versão instalada do SQL Server.


    Há risco em alterar o nível de compatibilidade?

    Em geral, não. A alteração é suportada pela Microsoft e recomendada quando o banco é executado em versões mais recentes do SQL Server.

    Entretanto, como qualquer alteração de configuração, recomenda-se:

    • realizar backup do banco de dados;
    • executar a alteração em ambiente de homologação quando possível;
    • validar os processos críticos da aplicação após a mudança.

    Preciso reiniciar o SQL Server?

    Não.

    A alteração é aplicada imediatamente e não requer reinicialização do serviço.


    Preciso executar a alteração em todos os bancos?

    Somente nos bancos utilizados pelo Tactium que apresentarem nível de compatibilidade inferior ao suportado pela versão instalada do SQL Server.


    Recomendação da Tactium

    Para ambientes executando Microsoft SQL Server 2019, recomenda-se manter o banco de dados do Tactium com Compatibility Level 150, garantindo suporte aos recursos utilizados pelas versões atuais da aplicação e evitando erros durante futuras atualizações.


    Boas práticas para futuras implantações

    Antes de iniciar qualquer atualização do Tactium, recomenda-se validar:

    • ✔ Versão do SQL Server suportada pela versão da aplicação.
    • ✔ Nível de compatibilidade do banco de dados.
    • ✔ Backup atualizado do banco.
    • ✔ Permissões do usuário responsável pela atualização.

    Essa verificação preventiva reduz significativamente a ocorrência de falhas durante a execução de scripts de atualização e procedimentos armazenados.


  • Licenciando um SQLServer com uso de um instalador licenciado

    Aplicando a licença SQLServer 2019

    Este procedimento visa ensinar como licenciar um SQLSever 2019, para sair da versão Enterprise Evaluation para a versão Standard Edition.

    Execute o Instalador que contem a licença aplicada.

    Nesta tela abaixo, clique em Manutenção(Maintenance) e clique em Atualização de Edição(Edition Upgrade).

    Na tela seguinte, ira mostrar a licença. Basta clicar em avançar e ir avançando até concluir. Não tem muita necessidade de mostrar cada tela, pois é basicamente clicar em avançar em todas elas.

    Ao final, basta clicar em atualizar e pronto. Interessante após este procedimento reiniciar o serviço do Sql.


  • DUMP de rede via TCPDUMP

    Introdução

    Tcpdump é uma linha de comando Sniff. A sua função é capturar códigos TCP e UDP tráfego na virtual Loopback Adaptador e tem por característica principal ser um arquivo executável em qualquer dispositivo móvel, umas das suas vantagens.

    Pré-Requisitos

    Para realizar o dump de rede via TCPDUMP você ira necessitar do executável do mesmo.
    Segue o link para download:
    tcpdump_trial_license

    Realizando o DUMP

    Como foi informado acima, o TCPDUMP é um CLI, logo mesmo possuindo um executável o mesmo não possui interface e utilizado por linha de comando no CMD.

    1. Extraia o arquivo “tcpdump” contido no zip em anexo para uma pasta no servidor da khomp do cliente.
    2. Abra o CMD como administrador.
    3. Entre no diretório onde o “tcpdump” se encontra através do pront com o comando CD. No exemplo abaixo o arquivo está em uma pasta na área de trabalho logo o comando foi:
      cd C:\Users\David\Desktop\Nova pasta
    4. Inicialmente você deverá verificar qual a interface de rede a khomp está utilizando, neste teste como não estamos num ambiente com Khomp apontei para interface 5 que é uma interface wireless.Comando: tcpdump -D
    5. Capturar o dump com o comando: tcpdump -i 5 -s 1500 -w log-khomp.pcap

    OBS.: O -i 5 significa que estou mandando realizar o dump da interface 5.
    O -s é uma quebra no pacote (Não é necessário ser usado, este foi necessário nesta captura em específico).
    O -2 é o nome do arquivo de saída, o mesmo será gravado na pasta onde o executável está rodando (A pasta do comando CD que foi dado mais acima).

    Para parar o dump aperta “ctrl + c”.Enquanto estiver gravando o pront ficará nesta tela:


  • Instalando .NET Framework 3.5 em Servidor Windows

    Caso precise acessar o banco nos ambientes Cloud, é preciso usar o Query Express e este, exige o dotnet 3.5. Para instalar, baixar microsoft-windows-netfx3-ondemand-package pacote e colocar no servidor.

    Deixe o zip dentro de uma pasta e inicie a adição de uma nova função. Não precisa extrair, só coloque o arquivo dentro de uma pasta qualquer. Marque a opção vista abaixo:

    Na tela seguinte, clique em Próximo.

    Na próxima, especifique o caminho alternativo.

    Coloque o caminho onde está o arquivo zipado e prossiga com a instalação.


  • Ferramentas deslogando inesperadamente (suspensão browser)

    Atualmente nos navegadores, ao passar algum tempo sem utilizar a aba que está logada à ferramenta, ou ao sair para pausa, ao retornar à pagina, é notado que a ferramenta executou logoff.

    Este processo ocorre devido um processo de limpeza de memória executado pelo navegador conhecido como Tab Discarding. Para evitar o mesmo existem algumas soluções para desativar este processo:

    Google Chrome:

    Temos duas formas de realizar essa configuração, sendo elas:

    Opção 1:

    Acessando a parte de Desempenho das configurações do navegador, na parte Geral devemos adicionar os sites da Tactium, podendo ser o domínio/IP que irá comtemplar todos os sites que utilizam aquele domínio/IP, como manualmente o site apenas da toolbar, conforme print abaixo:

    Na parte de economia de memória e energia devemos deixar desativados para que não ocorra do navegador desabilitar a aba da aplicação caso ela esteja consumindo mais recurso. Para mais informações acesse https://developer.chrome.com/blog/tab-discarding/.

    Para configurar abra o navegador e acesse o link “chrome://settings/performance”, ao abrir a página em “Economia de memória” e “Energia” deixamos a opção desabilitada, conforme print abaixo:

     

    Opção 2: Adicionar a extensão “Auto Tab Discad” presente no link abaixo, caso no seu navegador não esteja na versão 89 do Chrome.

    Link: https://chrome.google.com/webstore/detail/auto-tab-discard/jhnleheckmknfcgijgkadoemagpecfol

    Obs.: É necessário clicar na opção Usar no Chrome e adicionar extensão, após isso é necessário fechar e abrir o navegador para aplicar a extensão.

    Após intalação da extensão, abra o Google Chorme e clique no icone de extensãos no navegador em seguida clique nos 3 potinhos da “Auto tab Discard” após clique em “Opções” irá abrir uma nova pagina, na sequencia navegue até “Exceções” e adicione o link da aplicação como especificado na imagim abaixo:

    Obs.: Caso não consiga acessar a mesma via link, basta pesquisar no google “Auto Tab Discard”.

    Edge:

    Vá nos três pontinhos que fica abaixo do botão de fechar o navegador “…” busque a opção configurações:

    Estando em configurações, vá na opção “System” ou “Sistema e desempenho”. Procure por “Esmanecer guias inativas”, desmarque a opção e adicione a raiz da Toolbar e do OmniPA, conforme modelo abaixo:


  • Como habilita a função bulkadmin no SQL Server?

    Para habilitar essa função torna-se necessário acessar as propriedades do usuário do SQL Server (no exemplo abaixo as configurações estão sendo feitas no usuário chamado “callback”). No menu lateral entrar em “Funções de Servidor” e marcar a opção de “bulkadmin”.


  • Problema de acesso negado na pasta de anexos no CRM?

    Torna-se necessário habilitar no aplicativo do NewManager em Authentication defina o atributo impersonate do elemento de configuração de identidade como enable, conforme ilustrado na imagem abaixo. No exemplo estamos usando dois tipos de atributos habilitados:

    • O “Anonymous Authentication” e;
    • “APS.NET Impresoation”.

     


  • Problema de não estabelecimento de conexão com computador VPN RRAS

    Entendendo o problema?

    Ao tentar acessar a VPN é apresentado o seguinte erro:

    Não foi possível estabelecer uma conexão com o computador remoto. Talvez seja necessário alterar as configurações da rede para essa conexão

    Motivo

    Esse problema é presente a partir do Windows 8 ainda não solucionado pela Microsoft em atualização de correção. Consiste em uma divergência das WAN Miniport ao acesso do RRAS.

    O que fazer?

    1. Acesse o MMC do Windows: Menu iniciar -> Digite mmc -> Aperte enter.
    2. Com o MMC do Windows aberto você deverá adicionar o SNAP-IN do gerenciador de dispositivos, conforme imagem abaixo:
    3. Abra o gerenciador de dispositivos e expanda a opção de adaptadores de rede:
    4. Desinstale todos os drivers referente a WAN Miniport conforme clicando nos mesmos com o botão direito e escolhendo a opção desinstalar:
    5. Após desinstalar todos os drivers em questão pode fechar o MMC. Abra o Gerenciador dor de dispositivos: Menu iniciar -> Digite “Gerenciador de dispositivos” -> Aperte enter.
    6. Com o Gerenciador de dispositivos aberto, clique em Ação -> verificar se há alterações de Hardware.
    7. Teste a VPN.