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 / 90338
Accepted
KASQLDBA
KASQLDBA
Asked: 2015-01-28 11:41:41 +0800 CST2015-01-28 11:41:41 +0800 CST 2015-01-28 11:41:41 +0800 CST

Compactação de backup no SQL Server 2008R2 e superior

  • 772

Recentemente, recebemos um novo servidor para cuidar e descobrimos que existem duas unidades de dados:

S: 1 TB onde residem 10 bancos de dados (mdfs e ldf's, embora eles devam estar em unidades diferentes, mas foi assim que configuramos) onde o tamanho máximo de um banco de dados é de 780 GB e fica bem pequeno.

X: cenário semelhante aqui também, um banco de dados de 720 GB reside pequeno e bits, total de 10 bancos de dados

Agora, fomos solicitados a executar a estratégia de backup e, para isso, tenho certeza de que estamos com falta de unidade de backup, pois não existe nenhuma outra unidade além de C: e acima de duas.

Por ser o SQL Server 2008R2 Enterprise, o recurso de compactação foi ativado e podemos fazer backups compactados:

Mas minha pergunta aqui seria como posso prever ou calcular o tamanho da unidade necessária para acomodar os backups, significa usar o recurso de compactação, como posso prever quase a quantidade de espaço em disco necessária para fazer backup desses 20 bancos de dados de usuários.

sql-server sql-server-2008-r2
  • 2 2 respostas
  • 2110 Views

2 respostas

  • Voted
  1. LowlyDBA - John M
    2015-01-28T11:51:08+08:002015-01-28T11:51:08+08:00

    Você não pode prever completamente, mas pode fazer backup de bancos de dados menores com compactação e, se os conjuntos de dados forem semelhantes (com base nos fatores listados abaixo), você pode prever uma proporção que pode ser aplicada aos bancos de dados maiores.

    É mais fácil apenas citar o MSDN na compactação aqui:

    Para calcular a taxa de compactação de um backup, use os valores para o backup nas colunas backup_size e comprimidos_backup_size da tabela de histórico do conjunto de backup, conforme a seguir:

    backup_size:compressed_backup_size
    

    Por exemplo, uma taxa de compactação de 3:1 indica que você está economizando cerca de 66% no espaço em disco. Para consultar essas colunas, você pode usar a seguinte instrução Transact-SQL:

    SELECT backup_size/compressed_backup_size FROM msdb..backupset;
    

    A taxa de compactação de um backup compactado depende dos dados que foram compactados. Uma variedade de fatores pode afetar a taxa de compressão obtida. Os principais fatores incluem:

    • O tipo de dados.
    • Dados de caracteres são compactados mais do que outros tipos de dados.
    • A consistência dos dados entre as linhas em uma página.
    • Normalmente, se uma página contém várias linhas nas quais um campo contém o mesmo valor, pode ocorrer compactação significativa para esse valor. Por outro lado, para um banco de dados que contém dados aleatórios ou que contém apenas uma linha grande por página, um backup compactado seria quase tão grande quanto um backup não compactado.
    • Se os dados são criptografados.
    • Os dados criptografados compactam significativamente menos do que os dados não criptografados equivalentes. Se a criptografia de dados transparente for usada para criptografar um banco de dados inteiro, compactar os backups pode não reduzir muito seu tamanho, se é que reduzi-los.
    • Se o banco de dados está compactado.
    • Se o banco de dados estiver compactado, compactar backups pode não reduzir muito seu tamanho, se é que reduz.
    • 1
  2. Best Answer
    Shanky
    2015-01-28T21:00:43+08:002015-01-28T21:00:43+08:00

    Mas minha pergunta aqui seria como posso prever ou calcular o tamanho da unidade necessária para acomodar os backups

    Do documento Books Online. Se você ver a última parte, diz que

    Para backups compactados, o tamanho do arquivo de backup final depende da capacidade de compactação dos dados, e esse arquivo is unknown before the backup operation finishes. 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. Esse sinalizador de rastreamento é útil se você precisar economizar espaço alocando apenas o tamanho real necessário para o backup compactado. No entanto, usar esse sinalizador de rastreamento pode causar uma pequena penalidade de desempenho (um possível aumento na duração da operação de backup).

    Ao iniciar o backup compactado, você verá algum tamanho de arquivo de backup criado na unidade, mas esse não seria o tamanho correto durante a operação de backup, ele pode aumentar e o tamanho final aumentaria. Você pode iniciar um backup com compactação e ver qual é o tamanho e, em seguida, multiplicá-lo provisoriamente pelo número de dias que deseja mantê-lo e mais um pouco de espaço. Isso forneceria novamente o tamanho provisório da unidade de backup. Eu também diria que seria mais seguro ter mais espaço para fazer backup da unidade

    • 1

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