Adicionar e balancer arquivos de dados - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Adicionar e balancer arquivos de dados

Os bancos de dados SQL Server fornecidos com o EnterpriseOne geralmente podem se beneficiar de arquivos adicionais. Os arquivos adicionais permitem o balanceamento ideal entre o armazenamento e os núcleos do processador. O balanceamento dos arquivos é um processo de várias etapas. Muitas dessas etapas exigem acesso exclusivo aos objetos do banco de dados. Por isso, seria necessário colocar o EnterpriseOne e outros sistemas offline.

Cálculos completos dos tamanhos dos arquivos

Para encontrar o tamanho apropriado dos arquivos de banco de dados, comece examinando o tamanho dos dados de LINHAS atuais usando a consulta a seguir.

USE JDE_PRIST920 SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0) AS SpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'

Depois, conclua os cálculos abaixo e preencha a coluna Seu valor:

Linha Nome Exemplo Seu valor Descrição
1 Tamanho atual da linha 1 TB Os resultados da consulta anterior.
2 Crescimento planejado 20% Crescimento esperado nos próximos meses, incluindo uma margem de segurança.
3 Tamanho necessário 1,2 TB Linha 1 multiplicada pela linha 2.
4 Número de arquivos 8 O número de arquivos em questão.
5 Tamanho por arquivo 150 GB Linha 3 dividida pela linha 4.
6 Percentual de crescimento automático 10% O tamanho para crescimento automático. Para uma fragmentação mínima, 10% é uma boa meta.
7 Tamanho do crescimento automático 15 GB Linha 5 multiplicada pela linha 6.

Criação de novos arquivos

Use o script a seguir como modelo para adicionar arquivos ao banco de dados. Modifique os seguintes parâmetros:

  • Altere JDE-PRIST920 para o nome do banco de dados ao qual deseja adicionar arquivos.

  • Para NAME, especifique o nome lógico de cada arquivo que deseja adicionar.

  • Para FILENAME, especifique o nome físico de cada arquivo que deseja adicionar.

  • Para FILEGROWTH, use o valor calculado na linha 7 da tabela anterior.

  • Para SIZE, especifique o valor da linha 5 da tabela anterior.

USE master; GO ALTER DATABASE JDE_PRIST920 MODIFY FILE (NAME = JDE_PRIST920_Data, FILEGROWTH = 15GB); GO ALTER DATABASE JDE_PRIST920 ADD FILE (NAME = JDE_PRIST920_Data2, FILENAME = 'M:\DATA\PRIST920_Data2.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data3, FILENAME = 'M:\DATA\PRIST920_Data3.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data4, FILENAME = 'M:\DATA\PRIST920_Data4.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data5, FILENAME = 'M:\DATA\PRIST920_Data5.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data6, FILENAME = 'M:\DATA\PRIST920_Data6.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data7, FILENAME = 'M:\DATA\PRIST920_Data7.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data8, FILENAME = 'M:\DATA\PRIST920_Data8.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_TEMP, FILENAME = 'M:\DATA\PRIST920_TEMP.ndf', SIZE=150GB, FILEGROWTH = 15GB) GO

Esvaziamento temporário do arquivo MDF

Quando os arquivos tiverem sido criados, migre os dados dos arquivos MDF para os arquivos NDF executando o comando a seguir para cada arquivo. Ajuste os nomes dos arquivos para refletir os nomes dos arquivos em seu banco de dados.

USE JDE_PRIST920 DBCC SHRINKFILE (JDE_PRIST920_Data, EMPTYFILE)

O comando EMPTYFILE gera um erro porque não foi possível mover algum conteúdo para um arquivo NDF. Essa mensagem de erro pode ser ignorada.

Mensagem de erro ao esvaziar o arquivo MDF

Redimensionamento do arquivo MDF

Para reduzir o tamanho do arquivo MDF para o tamanho pretendido, execute o comando a seguir. Ajuste o tamanho do arquivo para refletir o valor da linha 5 do cálculo na tabela.

JDE_PRIST920 DBCC SHRINKFILE (JDE_PRIST920_Data, 150000);

Ocasionalmente, o comando SHRINKFILE falhará devido ao posicionamento do conteúdo que não pode ser movido para um arquivo NDF. Para esse caso, talvez seja necessário executar o comando DBCC DBREINDEX, executar novamente o processo para esvaziar o arquivo e tentar a operação SHRINKFILE novamente.

Limpeza

Quando os arquivos de destino tiverem sido criados e o arquivo MDF estiver dimensionado corretamente, use o comando a seguir para migrar os dados do arquivo TEMP de volta para o arquivo MDF. Ajuste os nomes dos arquivos para refletir os nomes dos arquivos em seu banco de dados.

DBCC SHRINKFILE (JDE_PRIST920_TEMP, EMPTYFILE)

Quando o arquivo estiver vazio, você poderá removê-lo usando o seguinte comando:

ALTER DATABASE JDE_PRIST920; REMOVE FILE JDE_PRIST920_TEMP;

Resultados da validação

Para verificar a utilização atual do espaço em disco do banco de dados após o balanceamento, execute os scripts a seguir.

USE JDE_PRIST920 SELECT DB_NAME() AS DbName, type_desc, CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0 AS SpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'; SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0) AS TotalSpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'

A saída deve ser semelhante a esta. Os arquivos raramente estarão perfeitamente balanceados, pois alguns conteúdos só podem existir no arquivo MDF.

Validação da utilização do espaço em disco após o balanceamento