Este post é apenas para armazenar o conhecimento adquirido para casos futuros...!!!:
Fui incumbido de efetuar o restore de um banco de dados de 1.5TB em um ambiente que seria utilizado para testes diversos, trabalho normal e simples. Recebi todos os acessos e permissões corretas para tal, acessei os servidores e instancias necessárias para o processo de backup e restore, espaços em discos estavam ok, não havia impedimentos para realizar um trabalho simples, apenas demorado devido ao tamanho do banco!
Pois bem, backup feito corretamente, arquivos necessários movimentados para o diretório de destino, restore iniciado e ai PÁHHH, deu ruim... nenhum progresso era exibido, não adiantava usar o gráfico ou script, uma demora absurdamente anormal.
No Activity Monitor haviam locks ASYNC_IO_COMPLETION... obviamente não preciso reinventar a roda...
Antes de ir direto para a solução, eu verifiquei que as versões de SQL estavam diferentes entre os ambientes, sendo que o ambiente original era superior ao ambiente de destino. Neste caso apliquei o devido KB para igualar os ambientes.
Agora sim vamos à solução, sem reinventar a roda... uma pesquisa rapida me levou a este link:
http://mattslocumsql.blogspot.com/2014/02/why-are-my-database-restores-so-slow.html
E o link acima aponta pra este link:
https://techcommunity.microsoft.com/t5/Premier-Field-Engineering/How-and-Why-to-Enable-Instant-File-Initialization/ba-p/370329
Lendo o conteúdo dos dois links será fácil resolver o problema de o SQL não apresentar progresso no restore, seja via gráfico ou script, e também a lentidão absurda no processo de restore, criação de banco de dados novo ou crescimento do banco de dados!
Vivendo e aprendendo sempre, graças a Deus!
Translate
Mostrando postagens com marcador Server. Mostrar todas as postagens
Mostrando postagens com marcador Server. Mostrar todas as postagens
quinta-feira, 13 de junho de 2019
quarta-feira, 8 de março de 2017
Trace flag 9481 e Dynamics AX2012 R3 CU8.
Olá senhoras e senhores!
Hoje vou apenas compartilhar um fato ocorrido em um ambiente de AX2012 que ajudei a implementar!
O ambiente consiste em em 07 servidores, todos físicos, novos e muito mais do que suficientes para suas funções atuais, sendo que o mais fraco é um Dell six core com 32GB de RAM e discos SAS...
O ponto focal deste post é o AX2012 R3 CU8 e o SQL Server 2014...
Neste ambiente de AX tínhamos telas como as de "fatura de fornecedor" e a de "diário de faturas" que demoravam muito, mas muito mesmo para serem abertas... vale ressaltar que nestas telas haviam algumas alterações relacionadas apenas ao layout, nenhum código relacionado a consultas!
Outras telas sem custons sofriam com o mesmo problema.
As rotinas de manutenção dos bancos de dados estavam corretamente implementadas no SQL server de acordo com as boas práticas indicadas pelo time de PFE da Microsoft assim como diversos outros manuais disponíveis em blogs e principalmente no Partner Source!
Como não havia problemas na estrutura de servidores e nada relacionado a customizações passou-se a pesquisar sobre o funcionamento do SQL Server, analisando a forma como o SQL trabalha para exibir estas telas. Usando as ferramentas de monitoramento do SQL foi possível descobrir processos lentos nos planos de execução.
Pesquisando mais sobre "query plan" chegamos ao seguinte link: http://dba.stackexchange.com/questions/136768/query-wont-compile-run/136842
Também é possível obter mais detalhes neste link: https://support.microsoft.com/pt-br/help/2801413/enable-plan-affecting-sql-server-query-optimizer-behavior-that-can-be-controlled-by-different-trace-flags-on-a-specific-query-level
Breve detalhe sobre o Trace Flag 9481:
Use when running SQL Server 2014 with the default database compatibility level 120. Trace flag 9481 forces the query optimizer to use version 70 (the SQL Server 2012 version) of the cardinality estimator when creating the query plan.
Veja mais sobre Trace Flags para o Dynamics AX aqui.
Após habilitar este trace flag no SQL Server e limpar o cache do SQL Server a abertura das telas que apresentavam problemas de lentidão passou a ser instantânea.
Obviamente este procedimento foi testado em outros dois ambientes antes de entrar definitivamente em produção!
Devo dizer que toda a analise feita em ambiente de desenvolvimento nos levou ao ponto em que habilitar este flag foi necessário, e com um ótimo resultado. Tendo em mente que este ambiente de AX é diferente de outros, sugiro que se tiverem o mesmo problema, façam seus testes habilitando este trace flag, analisem os resultados e sigam em frente com a melhor decisão para seu ambiente!
Habilitar trace flags afeta todo o SQL Server, mas no nosso caso este SQL Server é 100% dedicado aos 03 bancos de dados do Dynamics AX. Caso seu SQL Server tenha outros bancos, são necessários vários outros testes para analisar o impacto nas demais aplicações!
Fica então a dica, eu testei no meu ambiente e aqui o resultado foi positivo!
O Blog agradece a ajuda de Otavio Anaga na criação deste post!
Até a próxima!
Hoje vou apenas compartilhar um fato ocorrido em um ambiente de AX2012 que ajudei a implementar!
O ambiente consiste em em 07 servidores, todos físicos, novos e muito mais do que suficientes para suas funções atuais, sendo que o mais fraco é um Dell six core com 32GB de RAM e discos SAS...
O ponto focal deste post é o AX2012 R3 CU8 e o SQL Server 2014...
Neste ambiente de AX tínhamos telas como as de "fatura de fornecedor" e a de "diário de faturas" que demoravam muito, mas muito mesmo para serem abertas... vale ressaltar que nestas telas haviam algumas alterações relacionadas apenas ao layout, nenhum código relacionado a consultas!
Outras telas sem custons sofriam com o mesmo problema.
As rotinas de manutenção dos bancos de dados estavam corretamente implementadas no SQL server de acordo com as boas práticas indicadas pelo time de PFE da Microsoft assim como diversos outros manuais disponíveis em blogs e principalmente no Partner Source!
Como não havia problemas na estrutura de servidores e nada relacionado a customizações passou-se a pesquisar sobre o funcionamento do SQL Server, analisando a forma como o SQL trabalha para exibir estas telas. Usando as ferramentas de monitoramento do SQL foi possível descobrir processos lentos nos planos de execução.
Pesquisando mais sobre "query plan" chegamos ao seguinte link: http://dba.stackexchange.com/questions/136768/query-wont-compile-run/136842
Também é possível obter mais detalhes neste link: https://support.microsoft.com/pt-br/help/2801413/enable-plan-affecting-sql-server-query-optimizer-behavior-that-can-be-controlled-by-different-trace-flags-on-a-specific-query-level
Breve detalhe sobre o Trace Flag 9481:
Use when running SQL Server 2014 with the default database compatibility level 120. Trace flag 9481 forces the query optimizer to use version 70 (the SQL Server 2012 version) of the cardinality estimator when creating the query plan.
Veja mais sobre Trace Flags para o Dynamics AX aqui.
Após habilitar este trace flag no SQL Server e limpar o cache do SQL Server a abertura das telas que apresentavam problemas de lentidão passou a ser instantânea.
Obviamente este procedimento foi testado em outros dois ambientes antes de entrar definitivamente em produção!
Devo dizer que toda a analise feita em ambiente de desenvolvimento nos levou ao ponto em que habilitar este flag foi necessário, e com um ótimo resultado. Tendo em mente que este ambiente de AX é diferente de outros, sugiro que se tiverem o mesmo problema, façam seus testes habilitando este trace flag, analisem os resultados e sigam em frente com a melhor decisão para seu ambiente!
Habilitar trace flags afeta todo o SQL Server, mas no nosso caso este SQL Server é 100% dedicado aos 03 bancos de dados do Dynamics AX. Caso seu SQL Server tenha outros bancos, são necessários vários outros testes para analisar o impacto nas demais aplicações!
Fica então a dica, eu testei no meu ambiente e aqui o resultado foi positivo!
O Blog agradece a ajuda de Otavio Anaga na criação deste post!
Até a próxima!
terça-feira, 27 de outubro de 2015
SQL Server 2014 e Dynamics AX2012!
Olá pessoal!
A Microsoft anunciou há alguns, vários, dias a compatibilidade entre o SQL Server 2014 e o Microsoft Dynamics AX2012!
Vejam a tabelinha abaixo:
O documento AX 2012 System Requirements foi atualizado para contemplar esta mudança!
A Microsoft anunciou há alguns, vários, dias a compatibilidade entre o SQL Server 2014 e o Microsoft Dynamics AX2012!
Vejam a tabelinha abaixo:
| Microsoft Product | Microsoft Dynamics AX Versions |
| SQL Server 2014 SP1 | Dynamics AX 2012 R2 Cumulative update 8 and Dynamics AX 2012 R3 Cumulative update 9 |
| .NET 4.6 | Dynamics AX 2012 R2 Cumulative update 8 and Dynamics AX 2012 R3 Cumulative update 9 |
O documento AX 2012 System Requirements foi atualizado para contemplar esta mudança!
quinta-feira, 13 de março de 2014
Help Server AX2012 R2 - Atualização.
Olá pessoal!
Hoje um post bem simples, mas que, acredito eu, será útil a muitos!
No link abaixo é possível efetuar o download do KB mas atual para o componente de Help Server do AX2012 R2. Neste mesmo link estão disponíveis os arquivos para diversos idiomas.
O arquivo baixado terá 13.1MB te tamanho, sendo que o anterior tinha 12.7MB. Muito conteúdo novo e atualizado!
Link: KB2585394
Para instalar o Help Server siga as dicas do link abaixo:
http://fsilvajunior.blogspot.com.br/2013/01/instalacao-dynamics-ax2012-r2-parte-6.html
Até a próxima pessoal!
Hoje um post bem simples, mas que, acredito eu, será útil a muitos!
No link abaixo é possível efetuar o download do KB mas atual para o componente de Help Server do AX2012 R2. Neste mesmo link estão disponíveis os arquivos para diversos idiomas.
O arquivo baixado terá 13.1MB te tamanho, sendo que o anterior tinha 12.7MB. Muito conteúdo novo e atualizado!
Link: KB2585394
Para instalar o Help Server siga as dicas do link abaixo:
http://fsilvajunior.blogspot.com.br/2013/01/instalacao-dynamics-ax2012-r2-parte-6.html
Até a próxima pessoal!
quarta-feira, 26 de fevereiro de 2014
Help Server AX2012 R2 - Não é possivel contatar o servidor.
Olá pessoal!
Hoje encontrei um erro um tanto quanto comum no AX2012 R2!
Ao tentar acessar o menu de ajuda do AX pressionando o botão F1 o seguinte erro foi exibido:
Ao verificar a acessibilidade desta URL utilizando o IIS eu encontrei a seguinte mensagem de erro:
HTTP Error 500.21 - Internal Server Error
Handler "svc-Integrated" has a bad module "ManagedPipelineHandler" in its module list
Este erro está relacionado a forma como as Roles Web Server e Aplication Server foram instaladas. Durante a instalação componentes do ASP.NET não foram registrados corretamente e passaram a gerar este erro.
Para solucionar este problema execute o prompt de comando (DOS - CMD) como administrador e acesse o diretorio onte o .NET foi instalado. Veja imagem abaixo para exemplo:
Após acessar o diretorio correto execute o seguinte comando:
aspnet_regiis.exe -i
O resultado deve ser o seguinte:
Reinicie o servidor e utilize o menu de ajuda a vontade!
Até a próxima!
Hoje encontrei um erro um tanto quanto comum no AX2012 R2!
Ao tentar acessar o menu de ajuda do AX pressionando o botão F1 o seguinte erro foi exibido:
Ao verificar a acessibilidade desta URL utilizando o IIS eu encontrei a seguinte mensagem de erro:
HTTP Error 500.21 - Internal Server Error
Handler "svc-Integrated" has a bad module "ManagedPipelineHandler" in its module list
Este erro está relacionado a forma como as Roles Web Server e Aplication Server foram instaladas. Durante a instalação componentes do ASP.NET não foram registrados corretamente e passaram a gerar este erro.
Para solucionar este problema execute o prompt de comando (DOS - CMD) como administrador e acesse o diretorio onte o .NET foi instalado. Veja imagem abaixo para exemplo:
Após acessar o diretorio correto execute o seguinte comando:
aspnet_regiis.exe -i
O resultado deve ser o seguinte:
Reinicie o servidor e utilize o menu de ajuda a vontade!
Até a próxima!
quinta-feira, 20 de fevereiro de 2014
Maximum buffer Size (KB). Microsoft Dynamics AX Server Configuration Utility.
Olá pessoal!
Este é um post simples somente para a alteração deste parâmetro afim de corrigir um erro no Add-in do Office.
Em um próximo post vamos explorar melhor esta ferramenta!
Acesse o "Microsoft Dynamics AX Server Configuration Utility" que está localizado nas Ferramentas Administrativas do servidor de AOS.
Windows Server 2008 ou 2008 R2:
Windows Server 2012 ou 2012 R2:
Ao abrir a ferramenta clique no botão "Manage" e depois clique em "Create Configuration"
Digite o nome da configuração e deixe a opção "Active configuration" selecionada, clique em OK.
Selecione a aba "Database Tuning" e altere o valor do parâmetro "Maximum buffer size (KB):" conforme necessário.
Logo após a alteração do parâmetro a seguinte mensagem é exibida, leia-a com muita atenção e só prossiga se realmente tiver absoluta certeza do que estás fazendo.
Com as alterações finalizadas será necessário, obrigatório, reiniciar o AOS para validar as alterações.
Depois que o serviço do AOS for reiniciado efetue os testes novamente!
Por hoje é isso!
Espero que a dica seja útil!
Este é um post simples somente para a alteração deste parâmetro afim de corrigir um erro no Add-in do Office.
Em um próximo post vamos explorar melhor esta ferramenta!
Acesse o "Microsoft Dynamics AX Server Configuration Utility" que está localizado nas Ferramentas Administrativas do servidor de AOS.
Windows Server 2008 ou 2008 R2:
Windows Server 2012 ou 2012 R2:
Ao abrir a ferramenta clique no botão "Manage" e depois clique em "Create Configuration"
Digite o nome da configuração e deixe a opção "Active configuration" selecionada, clique em OK.
Selecione a aba "Database Tuning" e altere o valor do parâmetro "Maximum buffer size (KB):" conforme necessário.
Logo após a alteração do parâmetro a seguinte mensagem é exibida, leia-a com muita atenção e só prossiga se realmente tiver absoluta certeza do que estás fazendo.
Com as alterações finalizadas será necessário, obrigatório, reiniciar o AOS para validar as alterações.
Depois que o serviço do AOS for reiniciado efetue os testes novamente!
Por hoje é isso!
Espero que a dica seja útil!
sexta-feira, 24 de janeiro de 2014
Relatorios AX2012 R2 - Erro de ID SRSServers Table
Olá pessoal!
Hoje vou compartilhar com vocês um problema pelo qual passei na implementação de um ambiente de produção do Microsoft Dynamics AX2012 R2 com o CU7.
Neste ambiente tenho os seguintes servidores:
06 Servidores de AOS
01 Servidor Web
02 Servidores SQL em Cluster
Dos 06 AOS's apenas 04 eram destinados a conexões de usuários, os outros 02 seriam apenas Batch Servers.
Todo o ambiente foi instalado corretamente. Os demais componentes do AX foram instalados sem erro. Neste cenário utilizei o recurso de NLB e tudo funcionou perfeitamente.
Efetuei diversos testes derrubando AOS's para verificar o balanceamento de carga de todos os componentes e tudo ok!!!
Ao efetuar testes com os relatorios do AX me deparei com um erro inesperado.
Na configuração dos relatórios eu tinha exatamente o seguinte:
Até aqui tudo normal, esta foi a configuração registrada durante o setup do componente de relatório do AX.
Notem que somente o AOS estava registrado nesta configuração... e este era exatamente o meu problema. Ao tentar executar algum relatorio de algum outro AOS o seguinte erro era exibido:
The default Report Server Configuration ID could not be found in the SRSServers table.
Este erro ocorre porque quando temos mais de 01 AOS na estrutura é necessário, obrigatório, adicionar este(s) AOS no form de configuração do Report Server.
Após adicionar os demais AOS's à configuração do Report Server no AX os relatorios passaram a funcionar sem nenhum problema em todos os AOS's.
E assim meu problema foi solucionado!
Fonte: TechNet
Hoje vou compartilhar com vocês um problema pelo qual passei na implementação de um ambiente de produção do Microsoft Dynamics AX2012 R2 com o CU7.
Neste ambiente tenho os seguintes servidores:
06 Servidores de AOS
01 Servidor Web
02 Servidores SQL em Cluster
Dos 06 AOS's apenas 04 eram destinados a conexões de usuários, os outros 02 seriam apenas Batch Servers.
Todo o ambiente foi instalado corretamente. Os demais componentes do AX foram instalados sem erro. Neste cenário utilizei o recurso de NLB e tudo funcionou perfeitamente.
Efetuei diversos testes derrubando AOS's para verificar o balanceamento de carga de todos os componentes e tudo ok!!!
Ao efetuar testes com os relatorios do AX me deparei com um erro inesperado.
Na configuração dos relatórios eu tinha exatamente o seguinte:
Até aqui tudo normal, esta foi a configuração registrada durante o setup do componente de relatório do AX.
Notem que somente o AOS estava registrado nesta configuração... e este era exatamente o meu problema. Ao tentar executar algum relatorio de algum outro AOS o seguinte erro era exibido:
The default Report Server Configuration ID could not be found in the SRSServers table.
Este erro ocorre porque quando temos mais de 01 AOS na estrutura é necessário, obrigatório, adicionar este(s) AOS no form de configuração do Report Server.
Após adicionar os demais AOS's à configuração do Report Server no AX os relatorios passaram a funcionar sem nenhum problema em todos os AOS's.
E assim meu problema foi solucionado!
Fonte: TechNet
Marcadores:
2012,
AX,
configuration,
Francisco,
ID,
R2,
Report,
Server,
Silva,
SRSServers
sexta-feira, 13 de dezembro de 2013
AX2012 R2 CU6 - Problemas com Help Server.
Olá pessoal!
Hoje vou compartilhar com vocês um problema que caiu em minhas mãos para ser resolvido!
Estava eu aqui, tranquilo e calmo, configurando o cluster de Hyper-V para um novo ambiente de AX onde vou gravar diversos vídeos logo mais quando recebo um chamado....
No chamado estava a seguinte descrição:
"O Help do AX do ambiente da ????? funciona somente pela manhã depois não funciona mais. Segue em anexo a mensagem de erro."
Estranho né!!!!
Então acessei o servidor, abri o client do AX e de fato naquele momento o Help do AX não estava funcionando. A seguinte mensagem era exibida ao tentar acessa-lo.
Primeiro verifiquei os serviços no IIS, depois verifiquei as portas do AX, atualizei as configurações de WCF e não encontrei nenhum erro nestes passos.
Então fui verificar o Event Viewer do servidor e lá encontrei a seguinte mensagem de erro:
Na imagem acima note que destaquei em vermelho a mensagem de erro. Encontrada esta mensagem eu fui verificar a memoria do servidor e de fato havia pouca memoria livre neste servidor. De um total de 49GB apenas 1GB estava "livre"...
Este é um servidor de testes e varias aplicações estavam sendo executadas nele, por esta razão o alto consumo de memoria.
Ao finalizar algumas destas aplicações consegui deixar 12GB de memoria livre neste servidor.
Ao abrir o client do AX e conegui acessar o Help do AX sem problemas desta vez!
Em resumo, falta de memoria livre no servidor também pode causar o erro da primeira imagem do post:
Não é possivel contatar o servidor
http://server/ DynamicsAX6Helpserver/helpservice.svc.
Contate o administrador do sistema para obter assistencia
Espero que esta dica seja util!
Até a proxima!
Hoje vou compartilhar com vocês um problema que caiu em minhas mãos para ser resolvido!
Estava eu aqui, tranquilo e calmo, configurando o cluster de Hyper-V para um novo ambiente de AX onde vou gravar diversos vídeos logo mais quando recebo um chamado....
No chamado estava a seguinte descrição:
"O Help do AX do ambiente da ????? funciona somente pela manhã depois não funciona mais. Segue em anexo a mensagem de erro."
Estranho né!!!!
Então acessei o servidor, abri o client do AX e de fato naquele momento o Help do AX não estava funcionando. A seguinte mensagem era exibida ao tentar acessa-lo.
Primeiro verifiquei os serviços no IIS, depois verifiquei as portas do AX, atualizei as configurações de WCF e não encontrei nenhum erro nestes passos.
Então fui verificar o Event Viewer do servidor e lá encontrei a seguinte mensagem de erro:
Na imagem acima note que destaquei em vermelho a mensagem de erro. Encontrada esta mensagem eu fui verificar a memoria do servidor e de fato havia pouca memoria livre neste servidor. De um total de 49GB apenas 1GB estava "livre"...
Este é um servidor de testes e varias aplicações estavam sendo executadas nele, por esta razão o alto consumo de memoria.
Ao finalizar algumas destas aplicações consegui deixar 12GB de memoria livre neste servidor.
Ao abrir o client do AX e conegui acessar o Help do AX sem problemas desta vez!
Em resumo, falta de memoria livre no servidor também pode causar o erro da primeira imagem do post:
Não é possivel contatar o servidor
http://server/ DynamicsAX6Helpserver/helpservice.svc.
Contate o administrador do sistema para obter assistencia
Espero que esta dica seja util!
Até a proxima!
quarta-feira, 28 de agosto de 2013
Performance Tuning Guidelines for Windows Server 2012.
Pessoal, segue abaixo o link para o download de um material extremamente útil para aqueles que trabalham com infra, e não só para Dynamics mas também para diversos outros componentes do Windows Server 2012.
Espero que utilizem o documento, verão que será de grande ajuda!
Performance Tuning Guidelines for Windows Server 2012.
Postado ao som de:
Sonata Arctica -...Of Silence
Espero que utilizem o documento, verão que será de grande ajuda!
Performance Tuning Guidelines for Windows Server 2012.
Postado ao som de:
Sonata Arctica -...Of Silence
Marcadores:
2012,
AX2012 R2,
Francisco Silva,
Guideline,
Hyper-V,
Performance,
Server,
Tuning,
Windows
sexta-feira, 7 de junho de 2013
AX Server Team
Pessoal, segue abaixo o link para a pagina do time de AX.
Nesta pagina vocês terão acesso a varias dicas interessantes dos desenvolvedores do AX na Microsoft.
Incluam em seus favoritos!
Dynamics AX Server Team
Nesta pagina vocês terão acesso a varias dicas interessantes dos desenvolvedores do AX na Microsoft.
Incluam em seus favoritos!
Dynamics AX Server Team
Assinar:
Postagens (Atom)

