AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 329199
Accepted
Radioleao
Radioleao
Asked: 2023-07-12 16:34:34 +0800 CST2023-07-12 16:34:34 +0800 CST 2023-07-12 16:34:34 +0800 CST

Backup completo do MS SQL por partição, pode ser feito sem log?

  • 772

A questão é que eu realmente não preciso do t-tlog e desejo evitá-lo. Procurei em muitos tópicos, mas não procurei a resposta de que preciso (o tópico de backup do MSSQL é muito complicado de entender bem em todos os aspectos).

Meu banco de dados é feito assim:

  • 15 tabelas de dados de configuração
  • 3 tabelas com grande quantidade de linhas por mês (no geral são 30 milhões a 50 milhões de linhas por mês)
  • Os dados do mês atual são gravados/atualizados todas as noites
  • Os dados dos meses anteriores são armazenados apenas (não são mais alterados)
  • Partições:
    • 1 partição para primária
    • 1 partição para dados de configuração
    • n partições para dados de meses (1 partição para cada mês)

Todas as noites, muitos processos recalculam todos os dados do mês; todas as manhãs há poucas mudanças em relação ao dia anterior. Isso significa também: um enorme log de transações em comparação com poucas chances de dados finais).

Eu tenho esta configuração de processo/backup:

  1. Processar dados à noite
  2. Backup completo todos os domingos de manhã
  3. Backup diferencial na manhã de segunda a sábado
  4. Backup T-Log

Quando restauro os dados, a ordem deve ser:

  1. Restauração de backup completo
  2. Restauração de todos os backups diferenciais desde o último backup completo
  3. Restauração de todos os backups T-Log desde o último backup completo
  4. Restauração do backup da cauda

Por exemplo, na quarta-feira:

  1. Backup de log final
  2. Restauração do backup completo do dia 1 (domingo)
  3. Restauração do backup diferencial do dia 2, 3, 4 (seg, ter, qua)
  4. Restauração do backup t-log do dia 2, 3, 4 (seg, ter, qua)
  5. Restauração do tail log, COM RECUPERAÇÃO

Minhas perguntas seguem.

Questão 1 : Como restaurei todos os backups diferentes, por que preciso de todos os backups de log desde o último completo? Por que não basta apenas o t-Log desde o último backup diferencial?

Pergunta 2 : Posso restaurar apenas backup completo e diferencial e colocar meu banco de dados online sem restauração de log?

Questão 3 : Após o processamento noturno dos dados, tenho certeza de que nenhum outro dado foi alterado. Isso significa que, quando fiz backup diferencial pela manhã, não preciso armazenar os enormes dados do t-Log. Posso truncar o Log de transações antes Log Backup? Ou posso evitar completamente o backup t-log?

Questão 4 : Eu realmente não preciso do T-Log completo, mas escolho FULL recovery modeporque SIMPLE modequero dividir o backup de diferentes partições em arquivos diferentes, por razões práticas. EXISTE alguma outra configuração ou você tem sugestões para isso?

Questão 5 : Como os dados dos últimos meses nunca mudam, não preciso fazer backup deles toda vez que faço um backup completo. Existe alguma maneira de misturar backups anteriores (de todos os meses anteriores) e novos backups (de dados primários, operacionais e do mês atual)?

Muito obrigado. (Eu sei que é difícil ser preciso nessas coisas. Se algum ponto não estiver bem explicado, diga-me e tentarei fazer melhor.)

sql-server
  • 2 2 respostas
  • 55 Views

2 respostas

  • Voted
  1. Best Answer
    Sergey
    2023-07-13T01:20:05+08:002023-07-13T01:20:05+08:00

    Quando restauro os dados, a ordem deve ser: Restauração do backup completo

    Sim

    Restauração de todos os backups diferenciais desde o último backup completo

    Não. Os backups de diferenças são cumulativos, portanto, apenas o último backup de diferenças deve ser restaurado

    Restauração de todos os backups T-Log desde o último backup completo

    Não. Restaurar backups de log somente desde o backup diferencial.

    Restauração do backup da cauda

    Somente se você participar do envio de logs. Em outros casos, você não cria backups de log final.

    Por exemplo, na quarta-feira: Restauração do backup completo do dia 1 (domingo) Restauração do backup diferencial de 4 (qua) Restauração do backup t-log após quarta até o ponto de recuperação desejado

    Pergunta 1: Por que não é suficiente apenas o t-Log desde o último backup diferencial?

    Deve ser suficiente. Tente restaurar (você precisa praticar a restauração de qualquer maneira) e forneça uma mensagem de erro se não funcionar

    Pergunta 2: Posso restaurar apenas backup completo e diferencial e colocar meu banco de dados online sem restauração de log?

    Sim. Ele estará no estado em que o backup do diferencial foi concluído.

    Pergunta 3: posso evitar completamente o backup t-log?

    Não tenho certeza de qual problema você está tentando resolver. Você tem um arquivo de log enorme? Basicamente, no modo de recuperação total, você deve executar backups de log para evitar que o arquivo de log cresça.

    Questão 4: Eu realmente não preciso do T-Log completo, mas escolho o modo de recuperação COMPLETO em vez do modo SIMPLE porque quero dividir o backup de diferentes partições em arquivos diferentes, por motivos práticos. EXISTE alguma outra configuração ou você tem sugestões para isso?

    Então, você quer dizer que não precisa de restauração pontual, mas usa o modo de recuperação total para backup/restauração parcial. Parece que você precisa de Piecemeal Restores https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/piecemeal-restores-sql-server?view=sql-server-ver16 Para simplesmente o modo de recuperação, você deve declarar seu grupo de arquivos antigo como somente leitura https://learn.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-file-and-filegroup-options?view=sql -server-ver16

    Nesse caso, você pode pular grupos de arquivos somente leitura do backup e restauração

    Pergunta 5: Como os dados dos últimos meses nunca mudam, não preciso fazer backup deles toda vez que faço um backup completo. Existe alguma maneira de misturar backups anteriores (de todos os meses anteriores) e novos backups (de dados primários, operacionais e do mês atual)?

    Sim. você deve usar a cláusula READ_WRITE_FILEGROUPS em sua instrução de backup semanal https://learn.microsoft.com/en-us/sql/t-sql/statements/backup-transact-sql?view=sql-server-ver16#read_write_filegroups--- grupo de arquivos---logical_filegroup_name--logical_filegroup_name_var---n--

    No entanto, se você tentar gravar em qualquer objeto no espaço de tabela somente leitura, sua chamada falhará.

    • 1
  2. Michael Cherevko
    2023-07-12T17:20:04+08:002023-07-12T17:20:04+08:00

    Não sou um grande especialista em backup, mas vou tentar:

    1. Os backups de log são necessários para restaurar o último ponto no tempo. Cada log faz backup do log tran e o trunca. Portanto, o último arquivo de log terá apenas dados desde o último backup de log. *Acredite que você precisa de todos os backups de log desde o último backup diff, não o último completo.
    2. Não tenho certeza, acredite que você pode, você deve tentar em um ambiente inferior. Você simplesmente perderá todas as alterações após o backup do diff
    3. Você pode executar o comando encolher, mas não liberará o espaço usado. No modo de recuperação total, a única maneira de reduzir o espaço usado no log de tran é o backup.
    4. Acredito que esta seja a questão principal. Você realmente precisa do modo de recuperação total se não precisar ou usar backups de log tran? Se você não se importa em perder dados entre backups full\diff (somente se tiver certeza absoluta), você deve definitivamente reconsiderar o uso de backup completo. Você também pode dividir arquivos de backup em diferentes discos no modo simples. Você simplesmente não salvará backups de log que (de acordo com o que você escreveu) não precisa de qualquer maneira.
    5. Não pense que você pode misturar restaurações entre arquivos de backup diferentes (antigos e novos).

    Tendo dito tudo isso, você deve verificar novamente o que está acontecendo em seus bancos de dados. Os arquivos de log não crescem sozinhos. Se eles fizerem isso significa que algo acontece. Mas, novamente, se eu tivesse certeza absoluta de que não preciso de backups de log, evitaria usar o modo de recuperação total.

    Eu também consideraria o processo de arquivamento - mover todos os dados antigos para outro servidor\db e trabalhar com um banco de dados relativamente pequeno para que os backups não sejam enormes.

    • 0

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve