- Tempo aproximado para leitura: 00:30:00 min
Dúvida
Como preparar e exportar seu banco de dados para ser importado no TCLOUD?
Ambiente
Cloud - RM - Portal T-Cloud
Solução
Para exportar o seu banco de dados é necessário que ele seja preparado conforme as observações abaixo, além de ser necessário convertê-lo para a mesma versão da topologia de destino, ou seja, caso seu ambiente esteja em uma versão anterior é necessário atualizar a versão do RM antes de migrar o ambiente.
Check List Antes da Execução do Backup
É importante validar o tamanho do arquivo de log do banco de dados antes de executar o backup para envio para a Totvs Cloud.
- Verificar Tamanho do Banco de Dados
-- DESC: Consultar Informações da base de dados do cliente
-- EM : 03/11/2021
-- ATENCAO!!!!! Alteração de parâmetros para execução
-- A String DATABASE_NAME deverá ser alterada para o nome da base de dados que será consultada
--
use DATABASE_NAME -- <-- Alterar para o nome do banco ex: use PROTHEUS
go
--Consulta o tamanho do banco de dados
EXEC sp_spaceused @oneresultset = 1
--Consulta Datafiles do banco
use DATABASE_NAME --**Alterar nome do banco**
GO
select
DBName, recovery_model_desc,
[Filename],
FileType,
FilegroupName,
FilePath,
TotalSize_MB,
SpaceUsed_MB,
CAST((SpaceUsed_MB *100/TotalSize_MB) asdecimal(18,2)) as [Used (%)],
CAST((TotalSize_MB - SpaceUsed_MB) asdecimal(18,2)) as FreeSpace_MB,
CAST((TotalSize_MB - SpaceUsed_MB) * 100 / TotalSize_MB asdecimal(18,2)) as [Free (%)],
AutoGrowth_Value,
MaxSize
from
(
select
DB_NAME() as DBName,sdb.recovery_model_desc,
sf.name [Filename],
CASE sf.STATUS & 0x40
WHEN 0x40 THEN 'LOG' ELSE 'ROWS' END FileType,
sds.nameas FilegroupName,
sf.filename [FilePath],
CAST(IIF((sf.size/128) < 1, 1, (sf.size/128)) asdecimal(18,2)) AS [TotalSize_MB],
CAST(FILEPROPERTY(sf.name, 'SpaceUsed')/128 asdecimal(18,2)) [SpaceUsed_MB],
CASE STATUS & 0x100000
WHEN 0x100000 THEN convert(VARCHAR(3), sf.growth) + '%'
ELSE cast((sf.growth/128) asvarchar) + ' MB' END [AutoGrowth_Value],
CASE maxsize
WHEN -1 THEN
CASE sf.growth WHEN 0 THEN 'Restricted' ELSE 'Unlimited' END
ELSE CAST((sf.maxsize/128) asvarchar) + ' MB' END [MaxSize]
from sysfiles sf
inner join sys.database_files sdf on sdf.file_id = sf.fileid
left outer join sys.data_spaces sds on sds.data_space_id = sdf.data_space_id
left join sys.databases sdb on sdb.name = sf.name
) FileInformation
- Avaliar a saída do script
ATENÇÃO!!! Se o “recovery_model_desc” for igual a “FULL”, e o TotalSize_MB do arquivo de log(FileType = LOG) esteja com o tamanho muito mais alto que o tamanho do arquivo mdf, sugerimos executar o shrink do arquivo de log:
Alterar a string “DATABASE_NAME” pelo nome da base de dados que será enviada para a TOTVS no script a seguir e executá-lo;
O resultado será igual a imagem abaixo. Após alteração da string “DATABASE_NAME”, a saída do script deverá ser copiada e executada em uma nova janela de sql.
- Procedimento Para Executar Backup
Os backups a serem enviados para a Totvs deverão ser realizados de cada banco de dados separado. Ex: o Backup do Protheus não poderá ser enviado no mesmo arquivo .bak do TSS por exemplo. Como os backups são destinados a VMs distintas, pode ser que VMs menores como por exemplo as do TSS e TAF não suportem o tamanho do arquivo de backup do Protheus quando o mesmo for descompactado.
- Gerar o arquivo info_base_totvs.txt: Executar o script a seguir em modo texto e salvar a saída em formato .txt com o nome info_base_totvs.txt.
-- NOME: TOTVS_SCRIPTS_APOIO_GERAR_BACKUP_CLIENTE.sql
-- DESC: Consultar Informações da base de dados do cliente
-- EM : 03/11/2021
-- ATENCAO: Alteração de parâmetros para execução
-- DATABASE_NAME = devera ser alterado para o nome da base de dados restaurada
--
use DATABASE_NAME --**Alterar nome do banco**
go
--Consulta o tamanho do banco de dados
EXEC sp_spaceused @oneresultset = 1
--Consulta Datafiles do banco
use DATABASE_NAME -- <--- **Alterar nome do banco**
GO
select
DBName, recovery_model_desc,
[Filename],
FileType,
FilegroupName,
FilePath,
TotalSize_MB,
SpaceUsed_MB,
CAST((SpaceUsed_MB *100/TotalSize_MB) asdecimal(18,2)) as [Used (%)],
CAST((TotalSize_MB - SpaceUsed_MB) asdecimal(18,2)) as FreeSpace_MB,
CAST((TotalSize_MB - SpaceUsed_MB) * 100 / TotalSize_MB asdecimal(18,2)) as [Free (%)],
AutoGrowth_Value,
MaxSize
from
(
select
DB_NAME() as DBName,sdb.recovery_model_desc,
sf.name [Filename],
CASE sf.STATUS & 0x40
WHEN 0x40 THEN 'LOG' ELSE 'ROWS' END FileType,
sds.nameas FilegroupName,
sf.filename [FilePath],
CAST(IIF((sf.size/128) < 1, 1, (sf.size/128)) asdecimal(18,2)) AS [TotalSize_MB],
CAST(FILEPROPERTY(sf.name, 'SpaceUsed')/128 asdecimal(18,2)) [SpaceUsed_MB],
CASE STATUS & 0x100000
WHEN 0x100000 THEN convert(VARCHAR(3), sf.growth) + '%'
ELSE cast((sf.growth/128) asvarchar) + ' MB' END [AutoGrowth_Value],
CASE maxsize
WHEN -1 THEN
CASE sf.growth WHEN 0 THEN 'Restricted' ELSE 'Unlimited' END
ELSE CAST((sf.maxsize/128) asvarchar) + ' MB' END [MaxSize]
from sysfiles sf
inner join sys.database_files sdf on sdf.file_id = sf.fileid
left outer join sys.data_spaces sds on sds.data_space_id = sdf.data_space_id
left join sys.databases sdb on sdb.name = sf.name
) FileInformation
Os backups podem ser executados de duas formas: T-SQL OU modo gráfico via SSMS.
- Gerar Backup via T-SQL
-- DESC: Executar Backup via T-SQL
-- EM : 03/11/2021
-- ATENCAO: Alteração de parâmetros para execução
-- DATABASE_NAME = devera ser alterado para o nome da base de dados restaurada
-- DIRETORIO_BACKUP\BKP_TOTVS_NOMECLIENTE = deverá ser alterado pelo nome do diretório onde o bkp sera salvo e o nome do arquivo
-- Extensão .bak obrigatória
--
BACKUP DATABASE [DATABASE_NAME]
TO DISK = N'DIRETORIO_BACKUP\BKP_TOTVS_NOMECLIENTE.bak'
COPY_ONLY, NOFORMAT, NOINIT,
NAME = N'TOTVS_DB-Full Database Backup',
SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO
- Gerar Backup em Modo Gráfico
Clique com o botão direito do mouse no banco de dados, passe o cursor sobre Tarefas e clique em Fazer Backup.
Em Destino, confirme se o caminho do backup está correto. Se for necessário alterá-lo, clique em Remover para excluir o caminho existente e em Adicionar para digitar outro. É possível usar as reticências para navegar para um arquivo específico.
Na página “Backup Options”, altere o parâmetro “Set backup compression” para “Compress backup”
Enviar os Arquivos de Backup para a Totvs
Os arquivos a seguir deverão ser disponibilizados zipados no formato .zip no repositório informado no e-mail.
O arquivo de backup de cada banco de dados deverá ser zipado em arquivos distintos com o seu respectivo arquivo info_base_totvs.txt.
- Arquivo .bak gerado pelo backup.
- Saída em formato .txt do script sql com o nome info_base_totvs.txt
- Se a base estiver com TDE habilitado, enviar o cópia do certificado renomeando para cer , a primary key do certificado com o nome tdekey_totvs.pk e a senha do certificado no arquivo senha_tdekey_totvs.cer.
- Caso exista necessidade de acesso externo para integração, informar os usuários que deverão ser criados.
- Caso exista algum linked server, que deva ser criado, enviar os scripts de criação, incluindo as senhas dos usuários destino.
- Caso exista Job do SQL Server Agent, que deva ser criado, enviar os scripts de criação.
- Caso utilize Database Mail, encaminhar as informações da conta de e-mail utilizada.
0 Comentários