Manipulação de arquivos de dados e log no SQL Server

Este artigo apresenta uma série de recomendações e instruções sobre como alocar arquivos de dados e log, como controlar o espaço e configurá-lo para que seu banco ganhe desempenho.

Fique por dentro
Os arquivos de dados são objetos de extrema importância em um banco de dados, independente se estivermos falando de SQL Server, Oracle ou MySQL.

Dentro dos arquivos de dados encontram-se tabelas, índices, procedures e registros propriamente ditos de clientes, fornecedores e funcionários. Por isso, os mesmos necessitam de cuidados.

Sendo assim, daremos recomendações e instruiremos como alocar estes arquivos, como controlar o espaço e configurá-lo para que seu banco ganhe performance com o gerenciamento correto dos arquivos de dados.

Os arquivos de dados do SQL Server são compostos por dois tipos: de dados e de log transaction. Nos arquivos de dados geralmente são armazenados objetos do banco como tabelas, procedures, triggers e índices, assim como registros de clientes.

Já nos arquivos de log são registradas todas as alterações ocorridas no banco para que ele possa ser recuperado em caso de desastres do tipo perda de disco, falha em um dos arquivos de dados, etc. Os arquivos de dados e de log são divididos da seguinte maneira:

· Arquivos de dados primário, com a extensão .mdf;

· Arquivos de dados secundários, com a extensão .ndf;

· Arquivos de log, com a extensão .ldf.

Esses arquivos possuem suas particularidades e funções dentro do banco de dados e a perda de um desses arquivos pode significar a perda de parte das informações contidas no banco de dados, ou mesmo a perda de todo o banco.

No caso da perda de um dos arquivos, o procedimento mais indicado é a restauração do banco de dados, mas você deve ter o cuidado de executar rotinas de backup periodicamente.

Os arquivos .mdf são os primeiros a serem criados quando você executa o comando CREATE DATABASE. O arquivo mdf sempre fará parte do filegroup primary. Dentro dele estarão armazenadas informações sobre tabelas, views, tabelas de sistema e metadados.

Além disso, podem ser localizados procedures, índices, registos e usuários. Para o armazenamento de tabelas e índices de usuários, no entanto, recomendamos trabalhar com arquivos de dados secundários.

Os arquivos .ndf armazenam dados secundários, opcionais no banco de dados. Eles podem ser montados tanto durante o planejamento do banco de dados ou posteriormente, após a conclusão do banco. A principal função destes arquivos é aumentar a capacidade de armazenamento da base e manter uma área separada dos arquivos *.mdf, onde serão gravadas tabelas de sistema e metadados.

Como já mencionado, é aconselhado utilizar arquivos secundários para armazenar dados dos usuários.

Caso você não tenha o hábito de trabalhar com estes arquivos e acha que a melhor forma é armazenar os dados com arquivos primários, sugerimos que você pense a respeito e trabalhe com arquivos secundários. Desta forma, você pode aumentar a capacidades de armazenamento da base e ao mesmo tempo melhor organizar os objetos e registros específicos de usuários.

O terceiro conjunto são os arquivos de Log Transaction, que possuem a extensão .ldf. Este tipo de arquivo é responsável pela recuperação do banco de dados em caso de falhas, sendo utilizado em operações de log shipping, possibilitando a recuperação da base em caso de desastres (falha física de discos ou estrutura de arquivos).

Os arquivos de log armazenam todas as mudanças realizadas no banco, permitindo a recuperação de instruções quando estas não surtem o efeito esperado pelo programador. É através dos arquivos de log que o SQL Server mantém a integridade dos dados." [...] continue lendo...

Artigos relacionados