Consolidando o Relatório do DMA com o Power BI

Tudo bem pessoal ?

Por conta de um projeto que estou, tive a necessidade de procurar uma forma mais dinâmica para entregar o relatório do DMA (Microsoft Data Migration Assistant) para o time de desenvolvimento, com isso encontrei dois artigos na TechNet utilizando PowerShell e PowerBI que foram uma mão na roda, resolvi gravar um vídeo explicando passo a passo como utilizar os recursos.

 

A resolução tá alta então alguns comandos no Powershell estão ruins de ler.

Vou colocar aqui a explicação de modo geral.

Ao executar o script no Powershell, uma mensagem de erro pode ocorrer por conta do nível da política de execução, para verificar utilize o seguinte comando:

Get-ExecutionPolicy

Provavelmente vai retornar como Restricted, para alterar utilize o seguinte comando:

Set-ExecutionPolicy Unrestricted -scope CurrentUser

Com isso é possivel executar o script sem problema, antes de executar, edite o script e altere o seguinte trecho(Ele fica no final do arquivo):

dmaProcessor -serverName localhost `
 -databaseName DMAReporting `
 -jsonDirectory “C:\DMAResults\” `
 -processTo SQLServer

Para valores relacionados ao seu ambiente, no meu caso ficou assim:

dmaProcessor -serverName localhost\sql2016 `
-databaseName DMAReporting `
-jsonDirectory “C:\Users\Flavio\Desktop\Tutorial-PowerBI-DMA\DMA_Processor_V5.0\” `
-processTo SQLServer

Em seguida basta executar o arquivo .PS1

E seguir o passo a passo no vídeo.

Referências

Download do DMA (Data Migration Assistant)

Consolidação do DMA – Json utilizando o PowerShell

Relatório com consolidação do DMA com o PowerBI

Que a força esteja com vocês.

Flávio Farias

Anúncios
Consolidando o Relatório do DMA com o Power BI

Script de Backup nomeando o arquivo pela data, hora e nome da base

Recentemente em uma das comunidades que participo, surgiu uma dúvida… um dos membros queria gerar backup inserindo data e hora além do nome do arquivo, o Luiz Mercante sugeriu o post dele… AQUI, o entanto o script não contempla o nome do banco e é necessário alterar manualmente para cada um dos bancos..
Modificando um pouco esse script e usando a procedure sp_MSforeachdb podemos fazer o backup de todos os bancos já com o nome deles e com a data e hora.É importante criar o caminho…

EXECUTE master.sys.sp_MSforeachdb '
IF (''?'' NOT IN(''MASTER'',''MSDB'',''TEMPDB'',''MODEL''))
BEGIN
DECLARE @PATH VARCHAR(20)
DECLARE @FILEEXTENSION CHAR(4)
DECLARE @DATE VARCHAR(20)
DECLARE @FULLPATH VARCHAR(255)
DECLARE @SQL VARCHAR(MAX)
SET @PATH = "D:\BackupSQL\"
SET @DATE = REPLACE(REPLACE((CONVERT(nvarchar(30), GETDATE(), 120)),'' '',''_''),'':'',''.'')
SET @FILEEXTENSION = ''.bak''
SET @FULLPATH = @PATH + ''?_''+@DATE+@FILEEXTENSION
SET @SQL = "BACKUP DATABASE ? TO DISK =N''" + @FULLPATH+ "'' WITH NOFORMAT, INIT, NAME = ''?-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
EXEC(@SQL)
END'

Vocês devem ter notado o uso da interrogação… [?] por padrão o sp_MSforeachdb, vai substituir todas as interrogações pelo nome do banco de maneira que vocês não precisam se preocupar….
Esse script não faz o backup dos bancos de sistema, se quiser é só tratar o IF lá no início.

Script de Backup nomeando o arquivo pela data, hora e nome da base