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 / 122663
Accepted
RayofCommand
RayofCommand
Asked: 2015-12-03 05:06:41 +0800 CST2015-12-03 05:06:41 +0800 CST 2015-12-03 05:06:41 +0800 CST

Como o SQL Server calcula o tamanho inicial de um backup (compactado)?

  • 772

Quando um backup é criado, o SQL Server adivinha (?) o tamanho do arquivo de backup inicial. Mais tarde, talvez quando ele anexar o log, o tamanho seja reajustado, às vezes várias vezes até que o tamanho final seja alcançado. Quanto maior a diferença, mais tempo demora o backup. (em comparação com outro backup cujo tamanho não é ajustado muito mais tarde). Exemplo: Database1 (tamanho 500 GB, log de 70 GB usado) é feito backup com compactação. O arquivo .bak é criado com 85 GB de tamanho, depois de algum tempo o uso da CPU aumenta e vejo que o arquivo .bak é reajustado para 136 GB, isso acontece novamente até que o tamanho final de 178 GB para o backup seja alcançado.

Quando esses recálculos acontecem, a velocidade média de backup em MB/s é reduzida em comparação com outros backups na mesma máquina. É o único proveniente de anexar e limpar o log? Ou é também por causa dos diferentes tipos de dados usados ​​no banco de dados? Significa que eles são compactados com diferentes taxas de compactação ou algo assim?

Cheguei ao assunto, porque sabia que meus backups demoravam em torno de 30 minutos, mas agora demoravam 1,5 horas, embora o banco de dados não crescesse para 300% de seu tamanho. Cresceu apenas 30%.

Usando estatísticas de espera, pude ver que, além do BackupIO, eu também estava esperando pela CPU (SOS_SCHEDULER_YIELD) em algum momento.

Machine Details:
VMWare 6.0 
32 GB of Memory (Max memory 28GB given to SQL Server)
2 logical CPU
Max Degree of Parallelism (1, it's a Sharepoint 2013)   
SQL Server 2014
Windows Server 2012 R2
running on an SSD Raid (5)

É claro que tenho a inicialização instantânea de arquivo habilitada para o usuário que executa o backup.

sql-server performance
  • 1 1 respostas
  • 1515 Views

1 respostas

  • Voted
  1. Best Answer
    Kin Shah
    2015-12-03T06:54:49+08:002015-12-03T06:54:49+08:00

    Como o SQL Server calcula o tamanho inicial de um backup (compactado)?

    De BOL :

    Para backups compactados, o tamanho do arquivo de backup final depende da capacidade de compactação dos dados, e isso é desconhecido antes da conclusão da operação de backup. Portanto, por padrão, ao fazer backup de um banco de dados usando compactação, o Mecanismo de Banco de Dados usa um pre-allocation algorithmpara o arquivo de backup. Esse algoritmo pré-aloca uma porcentagem predefinida do tamanho do banco de dados para o arquivo de backup. Se for necessário mais espaço durante a operação de backup, o Mecanismo de Banco de Dados aumentará o arquivo. Se o tamanho final for menor que o espaço alocado, ao final da operação de backup, o Mecanismo de Banco de Dados reduzirá o arquivo para o tamanho final real do backup.

    Para permitir que o arquivo de backup cresça apenas conforme necessário para atingir seu tamanho final, use o sinalizador de rastreamento 3042. O sinalizador de rastreamento 3042 faz com que a operação de backup ignore o algoritmo de pré-alocação de compactação de backup padrão.

    Você deve seguir as práticas recomendadas de backup e restauração no SharePoint 2013 .

    Além disso, para mim, sua VM com 2 CPUs parece estar abaixo das especificações para executar um banco de dados de 70 GB (não tenho certeza se há apenas um banco de dados ou vários bancos de dados).

    • 5

relate perguntas

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

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

  • Onde posso encontrar o log lento do mysql?

  • Como posso otimizar um mysqldump de um banco de dados grande?

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