Preparação Banco de Dados
Tempo aproximado para leitura: 00:02:00 min
Dúvida
Como executar o Migrador SQLServer?
Ambiente
Cloud - Linha Fluig- Todas as versões
Solução
Para o Migrador SQLServer, siga os passos a seguir:
Informações sobre o Procedimento
Tipo
|
Risco
|
Complexidade
|
Requer RDM
|
Nome da RDM
|
---|---|---|---|---|
Serviço | Não Impacta | Não | N/A |
Histórico do Documento
Nome
|
Criação/Modificação
|
Data
|
Versão
|
Revisor
|
Aprovador
|
Alteração
|
Retenção
|
---|---|---|---|---|---|---|---|
Vanesca Freitas Dias | Criação |
|
v1 | Breno Ramos Lima | Rafael Cardoso | O documento deverá ser revisado caso necessite alguma alteração no processo | Até ser substituído, Inativado ou Excluído |
Versão
Plataforma/Versão SO
|
SGDB/Versão
|
Nome/Versão do Produto
|
Ambiente
|
---|---|---|---|
Windows Server | SQLServer 2012 ou superior | Todos | Todos |
Objetivo
Este documento tem como objetivo fornecer orientações e padrões técnicos para geração do backup das bases de dados que serão migrados para a Totvs Cloud.
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
Executar o script
Script Consulta Tamanho da Base de Dados
-- DESC: Consultar Informacoes da base de dados do cliente
-- EM : 03/11/2021
-- ATENCAO!!!!! Alteracao de parametros para execucao
-- 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) as decimal(18,2)) as [Used (%)],
CAST((TotalSize_MB - SpaceUsed_MB) as decimal(18,2)) as FreeSpace_MB,
CAST((TotalSize_MB - SpaceUsed_MB) * 100 / TotalSize_MB as decimal(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.name as FilegroupName,
sf.filename [FilePath],
CAST(IIF((sf.size/128) < 1, 1, (sf.size/128)) as decimal(18,2)) AS [TotalSize_MB],
CAST(FILEPROPERTY(sf.name, 'SpaceUsed')/128 as decimal(18,2)) [SpaceUsed_MB],
CASE STATUS & 0x100000
WHEN 0x100000 THEN convert(VARCHAR(3), sf.growth) + '%'
ELSE cast((sf.growth/128) as varchar) + ' MB' END [AutoGrowth_Value],
CASE maxsize
WHEN -1 THEN
CASE sf.growth WHEN 0 THEN 'Restricted' ELSE 'Unlimited' END
ELSE CAST((sf.maxsize/128) as varchar) + ' 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
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.
TOTVS_SCRIPTS_APOIO_SHRINK_CLIENTE_SQLSERVER
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.
Script para Gerar o Arquivo info_base_totvs.txt
-- NOME: TOTVS_SCRIPTS_APOIO_GERAR_BACKUP_CLIENTE.sql
-- DESC: Consultar Informacoes da base de dados do cliente
-- EM : 03/11/2021
-- ATENCAO: Alteracao de parametros para execucao
-- 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) as decimal(18,2)) as [Used (%)],
CAST((TotalSize_MB - SpaceUsed_MB) as decimal(18,2)) as FreeSpace_MB,
CAST((TotalSize_MB - SpaceUsed_MB) * 100 / TotalSize_MB as decimal(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.name as FilegroupName,
sf.filename [FilePath],
CAST(IIF((sf.size/128) < 1, 1, (sf.size/128)) as decimal(18,2)) AS [TotalSize_MB],
CAST(FILEPROPERTY(sf.name, 'SpaceUsed')/128 as decimal(18,2)) [SpaceUsed_MB],
CASE STATUS & 0x100000
WHEN 0x100000 THEN convert(VARCHAR(3), sf.growth) + '%'
ELSE cast((sf.growth/128) as varchar) + ' MB' END [AutoGrowth_Value],
CASE maxsize
WHEN -1 THEN
CASE sf.growth WHEN 0 THEN 'Restricted' ELSE 'Unlimited' END
ELSE CAST((sf.maxsize/128) as varchar) + ' 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 backup podem ser executados de duas formas: T-SQL OU modo gráfico via SSMS.
Gerar Backup via T-SQL
Script Executar Backup via T-SQL
-- DESC: Executar Backup via T-SQL
-- EM : 03/11/2021
-- ATENCAO: Alteracao de parametros para execucao
-- 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 email.
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.
Referências
N/A
0 Comentários