Translate

Mostrando postagens com marcador database. Mostrar todas as postagens
Mostrando postagens com marcador database. Mostrar todas as postagens

quinta-feira, 27 de novembro de 2025

D365F&O, Git e Power Platform! Parte 5

Na parte 1, falei sobre o Git e como migrar do TFVC para o Git.

Na parte 2, mostro como configurar o UDE via PPAC.

Na parte 3, vimos como configurar o VS 2002 com UDE e TFVC.

Na parte 4, mostrei como configurar o VS 2022 com o Git.

Agora, na parte 5, vamos ver como trazer os dados de produção para o ambiente UDE. Sem dados, não tem como trabalhar!

Faço-lhes a seguinte pergunta: Vocês têm dado hoje?

O processo utilizando um CHE é o seguinte:


Atualizamos uma sandbox, exportamos o .bacpac para o LCS, restauramos este .bacpac na VM CHE... Depois, poderíamos exportar um .bak para uma storage account e restaurá-lo em outras VMs CHE.

Todo o processo acima pode ser automatizado com o DevOps e muito Powershell. Caso não saibam como fazer, me chamem!$


O novo processo é extremamente simples e bem documentado, mas existem algumas frescuras que aprendi do pior jeito!


O banco vem direto de PROD para o UDE do desenvolvedor.

O primeiro detalhe é a localização dos ambientes. Certifique-se da localização correta de seu ambiente de produção.


Seu ambiente UDE precisa estar na mesma localização; caso contrário, não será possível atualizar o banco de dados.

Outro detalhe, ao criar um UDE "Managed Environment", tive problemas na restauração dos dados.

Para restaurar os dados em seu ambiente UDE, acesse seu ambiente de origem, produção ou algum outro, e clique na opção "Copy".


Aqui está o ponto de atenção para minimizar a quantidade de dados copiados da produção para o UDE. Seguindo a configuração da imagem abaixo, você terá os dados básicos copiados para o UDE. Para entender melhor, leia esta documentação: https://learn.microsoft.com/en-us/power-platform/admin/copy-environment?WT.mc_id=ppac_inproduct_env&tabs=new


Depois de ajustar as configurações e clicar em "Copy", o processo será iniciado. Meu ambiente de produção tem quase 200 GB de banco de dados. Após a conclusão da cópia, meu UDE tinha apenas 71 GB. O processo todo demorou 01 hora. Tenha atenção ao espaço disponível em seu Tenant!

Após a conclusão do restore, o ambiente volta com o "Administration Mode" habilitado. É necessário desabilitar ele para poder utilizar o ambiente normalmente


E pronto, agora seu ambiente UDE tem os dados e as customizações idênticos ao ambiente de produção!


Fontes:

https://learn.microsoft.com/en-us/power-platform/admin/copy-environment?WT.mc_id=ppac_inproduct_env&tabs=new

https://www.powerazure365.com/blog-1/dynamics-365-finops-unified-developer-experience

https://d365foadvicetips.com/2024/10/05/uae-efficient-environment-copying-in-dynamics-365-fo/

segunda-feira, 21 de outubro de 2024

Restaurar AxDB de uma VM para um ambiente Tier 2(PréProd ou Prod).

 É comum que antes de um D365F&O entrar em produção você precise pegar um banco de dados de um ambiente Tier 1, seja ele uma VM no Azure ou hospedada em seu servidor local.

Muitos testes e parametrizações são feitas na fase inicial, quando tudo está pronto para entrar em produção, esta movimentação é necessária.

Neste tutorial vamos preparar uma base de dados hospedada em minha VM de desenvolvimento e fazer o upload dela para o LCS.

Com o arquivo de backup disponivel no LCS, poderemos restaurar ela em um ambiente Tier 2 e consequentemente executar a restauração para o ambiente de produção!

Já existem diversos tutoriais na internet que tratam deste assunto. Registro este processo aqui simplesmente pelo fato de sempre ter funcionado em minhas atividades e para me servir de consulta em trabalhos futuros!

O primeiro passo para este processo é executar o backup de seu banco de dados em sua VM, depois você deve restaurar este backup também em seu SQL Server. 

Obs: Se você não souber fazer um backup/restore em seu SQL Server, larga tudo e me liga!!!

Ao final deste processo você terá 02 bancos de dados disponiveis, algo mais ou menos assim:


Detalhes importantes:

  • Nenhuma informação gravada de forma criptografada será migrada, é obrigatório recriar estas informações após a movimentação.
  • A collation do banco de dados DEVE ser a seguinte: SQL_Latin1_General_CP1_CI_AS

Agora precisamos "preparar" o banco de dados. Devemos executar o script abaixo, este script executará as alterações necessárias para que o banco de dados possa ser utilizado na nova estrutura de servidores onde ele ficará armazenado. Mais detalhes sobre as alterações você encontrará no final deste tutorial!

Script:

update sysglobalconfiguration

set value = 'SQLAZURE'

where name = 'BACKENDDB'

update sysglobalconfiguration

set value = 1

where name = 'TEMPTABLEINAXDB'

drop procedure XU_DisableEnableNonClusteredIndexes

drop procedure if exists SP_ConfigureTablesForChangeTracking

drop procedure if exists SP_ConfigureTablesForChangeTracking_V2

drop schema [NT AUTHORITY\NETWORK SERVICE]

drop user [NT AUTHORITY\NETWORK SERVICE]

drop user axdbadmin

drop user axdeployuser

drop user axmrruntimeuser

drop user axretaildatasyncuser

drop user axretailruntimeuser

drop user axdeployextuser

-- Clear encrypted hardware profile merchand properties

update dbo.RETAILHARDWAREPROFILE set SECUREMERCHANTPROPERTIES = null where SECUREMERCHANTPROPERTIES is not null

Depois de ter executado o script contra a base de dados correta, vamos exporta-la no formato .bacpac.

Eu tenho o costume de SEMPRE baixar o SQLPackage, já tive problemas com versões desatualizadas!

https://aka.ms/sqlpackage-windows

Obs2: Se não sabe, me liga!

Obs3: o D365fo.tool também pode ser utilizado neste caso!

SqlPackage.exe /a:export /ssn:localhost /sdn:AxDBToLCS /tf:c:\temp\AXDBToLCS.bacpac /p:CommandTimeout=4200 /p:VerifyFullTextDocumentTypesSupported=false /SourceTrustServerCertificate:True

Agora que temos o arquivo .bacpac de nosso banco de dados preparado após execução do script, é só fazer o upload dele para o LCS Assets.


Acesse seu LCS Asset Library, clique no sinal de + selecione as opções conforme o print abaixo e clique em "Add a File".
Selecione seu arquivo .bacpac e clique em Upload:
Aguarde o upload do arquivo e depois clique no botão "Confirm". Seu arquivo em breve estará disponivel no Assets do LCS!

Dica: Eu sempre uso uma VM no Azure, o upload é sempre mais rápido!


No LCS, escolha o ambiente Tier 2 a receber o backup, clique em "Mantain > Move Database".

Agora escolha a opção "Import Database":
Selecione o arquivo salvo no passo anterior, marque a caixa de seleção e clique em "Submit".

sexta-feira, 17 de maio de 2024

KILL DATABASE CONNECTION. bacpac d365f&o.

 Esta é a mensagem de erro recebida ao tentar restaurar um bacpac:

Error SQL72014: Framework Microsoft SqlClient Data Provider: Msg 4630, Level 16, State 1, Line 1 The permission 'KILL DATABASE CONNECTION' is not supported in this version of SQL Server. Alternatively, use the server level 'ALTER ANY CONNECTION' permission.

Error SQL72045: Script execution error.  The executed script:

GRANT KILL DATABASE CONNECTION TO [ms_db_configreader];


Eu apontei a seguinte dica como solução, mas ela funcionou apenas 01 vez: https://fsilvajunior.blogspot.com/2024/05/kill-database-connection-erro-ao.html


A solução apresentada abaixo funcionou:

Faça o download do arquivo .bacpac e renomeio alterando a extensão para .zip




Abra o arquivo .zip e extraia o arquivo "model.xml":


Utilizando o Notepad X++ abra o arquivo e pesquise por "Grant.KillDatabaseConnection" e remova todo o conteúdo marcado:

Salve o arquivo model.xml.

Faça o download do SQLPackage mais atualizado disponivel, descompacte o arquivo para a sua pasta de preferência. Copie o arquivo model.xml e cole este arquivo dentro da pasta SQLPackage.



Agora execute o comando de restore adicionando o seguinte parâmetro: /mfp:"ModelCopy.xml"



SqlPackage.exe /a:import /sf:"c:\Temp\preprod.bacpac" /tsn:localhost /tdn:AXDB2_New /p:CommandTimeout=1200 /TargetTrustServerCertificate:True /mfp:"ModelCopy.xml"


Boa sorte!

terça-feira, 4 de junho de 2013

Dica do dia - Contadores para SQL Server

Pessoal, segue abaixo um material bem interessante onde é possível ver diversos contadores para SQL Server e entender qual a finalidade de cada um deles.

Contadores SQL Server

Indico também o acesso ao site da Quest (Dell) para mais materiais de estudo!

http://www.quest.com/techbrief/sql-server-perfmon-counters-poster811635.aspx

Espero que os ajude!