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 / 40935
Accepted
SQL Learner
SQL Learner
Asked: 2013-04-26 08:38:07 +0800 CST2013-04-26 08:38:07 +0800 CST 2013-04-26 08:38:07 +0800 CST

Ponto de verificação indireto do SQL Server 2012

  • 772

Estou tentando entender onde traçar uma linha tênue para o Indirect Checkpoint que foi introduzido no SQL Server 2012.

Com base no meu entendimento

O SQL Server faz um ponto de verificação para liberar páginas sujas para o disco, mas a frequência ou o intervalo de tempo entre os pontos de verificação depende de muitos fatores. Ele é controlado pela configuração no nível do servidor chamada intervalo de recuperação e o valor padrão para essas configurações é zero, o que significa que, em um sistema bastante ocupado, o SQL Server pode executar um ponto de verificação a cada minuto e pode resultar em um tempo de recuperação do banco de dados inferior a um minuto.

O SQL Server 2012 introduziu o ponto de verificação indireto – que, por sua vez, pode permitir que você controle o intervalo de recuperação de bancos de dados individuais.

Em um nível alto, essa configuração parece boa, pois permite equilibrar o IO do disco executando pontos de verificação mais frequentes em vez de fazer um checkpoint periódico que pode resultar em inundação do subsistema de IO subjacente

Agora minhas perguntas são

a) O ponto de verificação indireto leva em consideração o número de buffers sujos em vez do número de transações que o ponto de verificação geralmente automático estava usando?

b) Continuo descobrindo em muitos blogs que a configuração de ponto de verificação indireto é muito perigosa, pois
pode manter seu sistema IO muito ocupado. A afirmação abaixo é verdadeira no blog acima?

O Checkpoint normalmente grava grandes blocos de dados no disco de maneira otimizada em uma única operação de gravação, até 256 KB, dependendo do número de páginas sujas contíguas no cache que precisam ser descarregadas no disco. Depois de ativar o recurso de ponto de verificação indireto definindo o tempo de recuperação de destino para um valor diferente de zero, as gravações do ponto de verificação se transformarão em gravações de página única, gravações de 8 KB.

c) A configuração de ponto de verificação indireto é mais adequada para carga de trabalho do tipo Data Warehouse versus OLTP? Quais cenários você considera para o banco de dados SQL em questão antes de começar a aproveitar o ponto de verificação indireto?

sql-server sql-server-2008
  • 1 1 respostas
  • 1178 Views

1 respostas

  • Voted
  1. Best Answer
    Kin Shah
    2013-04-26T17:15:19+08:002013-04-26T17:15:19+08:00

    ATUALIZAÇÃO (14 de abril de 2016):

    Do SQL 2016 – Ele apenas roda mais rápido: padrão de ponto de verificação indireto no log da Web da equipe oficial para Suporte e Atendimento ao Cliente Microsoft (CSS) SQL Support:

    O ponto de verificação indireto é a configuração recomendada, especialmente em sistemas com grande consumo de memória e padrão para bancos de dados criados no SQL Server 2016.


    O ponto de verificação indireto leva em consideração o número de buffers sujos em vez do número de transações que o ponto de verificação geralmente automático estava usando?

    Depois de definir o target_recovery_time, o SQL Server calcula internamente o limite do Target Dirty Buffer. À medida que as transações são registradas no log de transações, uma lista de páginas sujas rastreia os LSNs e os buffers sujos que são modificados pela transação. Portanto, para pontos de verificação indiretos, os buffers sujos de cada transação junto com o LSN estão sendo rastreados.

    O gravador de recuperação (um novo processo em segundo plano em 2012) pesquisa periodicamente a lista de páginas sujas e, se encontrar um número de páginas sujas no pool de buffers maior que o limite do buffer sujo de destino, ele libera os buffers sujos e move o minLSN para frente.

    A configuração de ponto de verificação indireto é mais adequada para carga de trabalho do tipo Data Warehouse versus OLTP?

    De BOL , uma carga de trabalho transacional online em um banco de dados configurado para pontos de verificação indiretos pode sofrer degradação de desempenho. Isso ocorre porque o gravador em segundo plano usado pelo ponto de verificação indireto às vezes aumenta a carga total de gravação para uma instância do servidor.

    Quais cenários você considera para o banco de dados SQL em questão antes de começar a aproveitar o ponto de verificação indireto?

    Isso depende de muitos fatores, pois cada ambiente é diferente em termos de hardware, memória, ocorrência de transações, etc. Eu recomendaria que você TESTE e TESTE duas vezes esse recurso específico, pois pode ser útil para você ou pode causar um efeito prejudicial em sua carga de trabalho e possivelmente comprometer seus bancos de dados também. Por padrão, o tempo de recuperação de destino é definido como significado ZERO, altere-o se você o testou completamente e seu comportamento é aceitável para você ...

    Vantagens:

    Pode melhorar o tempo de recuperação do banco de dados Pode reduzir a E/S do ponto de verificação, pois grava páginas continuamente no disco em segundo plano

    Desvantagens:

    Na carga de trabalho OLTP, pode aumentar as gravações gerais no servidor gravando páginas continuamente no disco em segundo plano, o que pode reduzir o desempenho.

    Ref:

    Definindo pontos de verificação indiretos por banco de dados no SQL Server 2012

    Como funcionam os pontos de verificação e o que é registrado?

    • 4

relate perguntas

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

  • Quanto "Padding" coloco em meus índices?

  • Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?

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

  • Downgrade do SQL Server 2008 para 2005

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • 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

    Conceder acesso a todas as tabelas para um usuário

    • 5 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
    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
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +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