Planejando diretrizes para tabelas particionadas e índices
Antes de particionar uma tabela ou um índice, planeje para criar os seguintes objetos de banco de dados:
Função de partição
Esquema de partição
Uma função de partição define como as linhas de uma tabela ou índice são mapeadas para um conjunto de partições, com base nos valores de certas colunas, chamadas colunas de particionamento.
Um esquema de partição mapeia cada partição especificada pela função de partição, para um grupo de arquivos.
Planejando a função de partição
Existem dois fatores a considerar ao planejar uma função de partição: a coluna cujos valores determinam como uma tabela é particionada, conhecida como coluna de particionamento, e o intervalo de valores da coluna de particionamento para cada partição. Esse intervalo de valores determina o número de partições que compõem sua tabela. Uma tabela poderá ter 1.000 partições, no máximo.
As opções que você tem para as colunas de partição e para o intervalo de valores são determinados, basicamente, pela extensão na qual seus dados podem ser agrupados de forma lógica, como por exemplo, por data; e, se este agrupamento lógico é adequado para gerenciar subconjuntos de dados.
Por exemplo, sob o cenário de particionamento do banco de dados de exemplo AdventureWorks2008R2, as tabelas TransactionHistory e TransactionHistoryArchive são particionadas no campo TransactionDate. O intervalo de valores para cada partição é de um mês. A tabela TransactionHistory mantém as transações mais recentes do ano, enquanto TransactionHistoryArchive mantém as transações mais antigas. Ao particionar as tabelas desta maneira, o valor de um único mês de dados antigos pode ser transferido com rapidez e eficiência da tabela TransactionHistory para TransactionHistoryArchive mensalmente.
Para obter mais informações sobre este cenário específico, consulte Criando partições para gerenciar subconjuntos de dados.
Qualquer coluna cujos tipos de dados possam ser usados como chave de índice também pode ser especificada como coluna de particionamento, exceto o tipo de dados timestamp, tipos de dados CLR (Common Language Runtime) definidos pelo usuário do Microsoft .NET Framework e tipos de dados de alias. Para obter mais informações, consulte Criando tabelas e índices particionados.
Planejando o esquema de partição
Ao planejar o esquema de partição, você deve decidir em que grupo ou grupos de arquivos deseja colocar suas partições. O principal motivo para colocar suas partições em grupos de arquivos separados é para garantir que poderá efetuar operações de backup em partições de forma independente. Isso porque se pode executar backups em grupos de arquivos individuais. Para obter mais informações, consulte Fazendo backup e restaurando bancos de dados no SQL Server.
Importante |
---|
O SQL Server não garante a conclusão de consultas que acessam uma tabela particionada se um dos arquivos que pertençam aos grupos de arquivos da tabela não estiverem no estado ONLINE, sejam quais forem as partições acessadas pela consulta. |
Para scripts Transact-SQL que implementam este cenário, consulte os exemplos ReadMe_SlidingWindow e Readme_PartitioningScript samples. Para obter informações sobre exemplos, consulte Considerações para instalar exemplos e bancos de dados de exemplo do SQL Server.