it-swarm-pt.tech

Como excluir índices de backups no SQL Server 2008

Nossos backups completos noturnos (e diferenciais periódicos) estão se tornando muito grandes, devido principalmente à quantidade de índices em nossas tabelas; cerca de metade do tamanho do backup é composta por índices.

Estamos usando o modelo de recuperação Simples para nossos backups.

Existe alguma maneira, através do uso de FileGroups ou algum outro método de particionamento de arquivo, para excluir índices dos backups?

Seria ótimo se isso pudesse ser estendido para catálogos de texto completo também.

19
Jarrod Dixon

Se você alternar para o modo de recuperação total, poderá fazer isso com grupos de arquivos, mas é muito, muito desajeitado. Você deixa os dados no grupo de arquivos primário e coloca os índices em um grupo de arquivos separado (não padrão, essa é a chave).

Em seguida, você escalona seus backups para fazer backups de grupos de arquivos do primário todas as noites e backups de log de transações a cada X minutos.

Quando ocorre um desastre, você restaura o próprio grupo de arquivos primário. Os dados ficam online repentinamente, mas os índices não. No entanto, para voltar à normalidade, você precisará exportar esses dados para um novo banco de dados limpo e adicionar índices a partir daí. Você não pode colocar o banco de dados completamente online sem restaurar todos os grupos de arquivos e não pode dizer "Não preciso mais daquele outro grupo de arquivos de qualquer maneira."

Para mais informações sobre como isso funciona, verifique meu tutorial em vídeo sobre restaurações de grupos de arquivos.

15
Brent Ozar

Honestamente, você realmente não quer fazer isso, mesmo se superar as outras questões levantadas aqui.

Ao restaurar o backup em uma emergência, você não quer esperar que os índices sejam reconstruídos, e você terá um desempenho abominável até fazer isso.

Não consigo pensar em uma situação em que você queira restaurar um backup sem índices, portanto, em todos os casos, você realmente desejará fazer o backup deles ao mesmo tempo.

Você provavelmente precisará procurar outras soluções para este problema ...

-Adão

6
Adam Davis

Parece que isso não é compatível. Disto informações do relatório de bug :

Tem havido muito interesse neste, então vou entrar em mais detalhes sobre o que está acontecendo nos bastidores e o que significaria implementar essa funcionalidade. Alguns tipos de páginas de índice são segregados em unidades de alocação separadas, enquanto outros são misturados com as páginas de dados. Onde atualmente olhamos apenas para o bitmap de alocação para ver se uma extensão está alocada, agora teríamos que ir e interpretar o que está armazenado em cada unidade de alocação. Além disso, agora não seríamos capazes de apenas fazer uma varredura linear dos arquivos de dados copiando os dados, estaríamos pulando o arquivo. Toda essa interpretação das estruturas de dados tornaria o backup drasticamente lento. A restauração fica ainda mais interessante, pois existem muitas estruturas que teriam que ser consertadas para dar conta dos buracos no backup. Caso contrário, você teria mapas de alocação apontando para páginas que não foram armazenadas em backup e, portanto, haveria lixo nelas, etc. etc. Portanto, implementar isso significaria que economizaríamos menos dados, demoraríamos mais e muito mais restaurá-lo. A outra faceta a considerar é que isso exigiria um grande esforço de engenharia para fazer tudo certo. Embora esse não seja o seu problema superficialmente, considere que isso significa que outros recursos que você pode querer ver não serão desenvolvidos.

3
Jon Galloway

pode ser uma ideia maluca, mas aqui vai.

  1. elimine seus índices não agrupados que ocupam muito espaço
  2. faça um backup
  3. recrie os índices que você eliminou

Claro que você só pode realmente fazer isso se seu banco de dados permitir algum tempo de inatividade durante o dia.

Além disso, não elimine seus índices de cluster, pois o SQL Server perderá muito tempo convertendo-os em um heap.

Comprar aquele espaço extra em disco ainda parece uma solução mais fácil?

Você já pensou em fazer backups compactados ? este é um novo recurso de 2008, pode ser uma opção para você.

1
Nick Kavadias