Descrição do uso de caches de unidade de disco com SQL Server que cada administrador de banco de dados deve saber

Traduções deste artigo Traduções deste artigo
ID do artigo: 234656 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sumário

Um sistema de banco de dados primeiro e foremost é responsável pelo armazenamento preciso e a recuperação de dados, mesmo no caso de falhas inesperadas do sistema.

O sistema deve garantir a atomicidade e durabilidade de transações, enquanto estatísticas para execução atual, várias transações e vários pontos de falha. Freqüentemente, isso é chamado como as propriedades ACID (atomicidade, consistência, isolamento e durabilidade).

Este artigo aborda as implicações de uma unidade de disco armazena em cache. É recomendável que você leia os seguintes artigos na Base de dados de Conhecimento da Microsoft para mais esclarecimentos sobre cache e alternativos discussões de modo de falha:
86903SQL Server e cache de controladores de disco
46091Usando cache de controlador de disco rígido com o SQL Server
230785Algoritmos de armazenamento de dados de log do SQL Server 7.0 e SQL Server 2000 e estendem confiabilidade de dados
Também são recomendados os seguintes documentos:

Mais Informações

Microsoft SQL Server 2005, SQL Server 2000, SQL Server 7.0, versões anteriores do SQL Server e muitos produtos de banco de dados importantes no mercado hoje usam o protocolo write-ahead log (WAL).
gravação-Ahead log de protocolo (WAL)
O protocolo de termo é uma excelente forma de descrever WAL. É um específico e conjunto definido de implementação etapas necessárias para garantir que os dados é armazenado e trocado corretamente e pode ser recuperado para um estado conhecido em caso de falha. Assim como uma rede contém um protocolo definido para troca de dados de maneira consistente e protegida, portanto, muito o WAL descrever o protocolo para proteger os dados.
Todas as versões do SQL Server abrir os arquivos de log e dados usando a função Win32 CreateFile . O membro dwFlagsAndAttributes inclui a opção FILE_FLAG_WRITE_THROUGH quando aberto pelo SQL Server.
FILE_FLAG_WRITE_THROUGH
Essa opção instrui o sistema para gravar por meio de qualquer cache intermediário e ir diretamente para disco. O sistema ainda pode cache operações de gravação, mas não é possível liberar ociosamente-los.

A opção FILE_FLAG_WRITE_THROUGH garante que quando uma gravação operação retorna conclusão com êxito que os dados corretamente são armazenados no armazenamento estável. Isso é alinhada com a especificação de protocolo write ahead log (WAL) para assegurar que os dados.
Muitas unidades de disco (SATA, ATA, SCSI e IDE com base) conter integrados caches de 512 KB, 1 MB e maior. Unidade caches geralmente contam com um capacitor e não uma solução de backup de bateria . Esses mecanismos de cache não é possível garantir gravações em uma potência ciclo ou ponto de falha semelhante. Eles apenas garantem a conclusão das operações de gravação setor. Como as unidades de disco continuarem a crescer em tamanho, os caches ficar maiores e eles podem expor grandes quantidades de dados durante uma falha.

Avançado sistemas de controlador de armazenamento em cache desabilitar cache em disco e fornecem um funcional cache solução feito da bateria. Esses caches podem manter os dados no cache por vários dias e ainda permitir que o cartão de armazenamento em cache a ser colocado em um segundo computador. Quando a alimentação é restaurada corretamente, os dados unwritten completamente for liberados antes de qualquer acesso a dados mais ter permissão. Muitas delas permitem porcentagem de leitura versus cache de gravação sejam estabelecidas para desempenho ideal. Alguns contêm grande quantidade de memória áreas de armazenamento. Na verdade, para um segmento bastante específico do mercado, alguns fornecedores de hardware high-end feito bateria disco cache de sistemas com vários gigabytes de cache de fornecer. Esses podem melhorar significativamente o desempenho de banco de dados.

Transferências de E/s que são executadas sem o uso de um cache podem ser significativamente mais devido de taxas de rotação de unidade de disco rígido, o tempo mecânico que é necessário para mover as cabeças de unidade e outros fatores de limitação. Instalações do SQL Server são direcionadas a sistemas que fornecem controladores de armazenamento em cache. Esses controladores de desativar os caches em disco e fornecem mídia estável armazena em cache para satisfazer a requisitos de E/s do SQL Server. Eles evitam problemas de desempenho relacionados a disco busca e escrever vezes usando as diversas otimizações do controlador de armazenamento em cache.

Há muitos tipos de implementações do subsistema. RAID e SAN é dois exemplos desses tipos de implementações do subsistema. Normalmente, esses sistemas são criados com unidades com base em SCSI. Há várias razões para isso. A seguinte seção descreve genericamente considerações sobre a unidade de nível alto.

Unidades SCSI:
  • Normalmente são fabricados para uso intenso de imposto.
  • Normalmente são direcionados a implementações multiusuário com base no servidor.
  • Geralmente têm melhor meantime às taxas de falha de outras implementações.
  • Conter sofisticadas heurística para ajudar a prever falhas iminente.
Outras implementações de unidade, como o IDE ATA e SATA:
  • Normalmente são fabricados para uso imposto claras e média.
  • Normalmente são direcionados a aplicativos baseados em usuário único.
  • Algumas implementações mais recentes contenham sofisticadas heurística para ajudar a prever falhas iminente.
Não-SCSI, controladores com base em área de trabalho exigem processador principal mais largura de banda (CPU) e são freqüentemente limitado por um único comando ativo. Por exemplo, quando uma unidade SCSI não está ajustando um bloco inválido, a unidade requer que os comandos de host esperar. O barramento ATA apresenta outro exemplo. O barramento ATA oferece suporte a 2 dispositivos, mas somente um único comando pode estar ativo. Isso deixa uma unidade ocioso enquanto o comando pendente de serviços de outra unidade. Sistemas RAID construídos sobre tecnologias da área de trabalho podem todos esses sintomas e bastante ser afetados pelo respondedor mais lento. A menos que esses sistemas usam designs avançadas, seu desempenho não será tão eficiente quanto o desempenho de sistemas baseados em SCSI.

Há situações em que uma unidade com base em área de trabalho ou matriz é uma solução de baixo custo apropriada. Por exemplo, se você configurar um banco de dados somente leitura para relatório, você deve não encontrar muitos dos fatores de desempenho de um banco de dados OLTP quando o cache de disco estiver desativado.

Unidade tamanhos continuam a aumentar. Unidades de baixo custo, alta capacidade podem ser muito atraentes. Mas quando você configura a unidade para o SQL Server e suas necessidades de tempo de resposta, você deve considerar cuidadosamente os seguintes problemas:
  • Design de caminho de acesso
  • O requisito para desabilitar o cache em disco
A tabela a seguir fornece comentários de nível altos. As informações de comentário se baseia nas configurações comuns de fabricação.

Recolher esta tabelaExpandir esta tabela
unidade digite base do sistema comentários
IDE e ATA
  • Girar em RPM 7,200.
  • Direcionado para desktops e aplicativos de usuário único.
  • Por padrão, o cache de disco está ativado. Use a guia 'Propriedades de disco', guia hardware para acessar a diretiva 'dos Propriedades,' ' para controlar a configuração de cache de disco.

    Observação Algumas unidades não respeitam essa configuração. Essas unidades requerem um utilitário de fabricante específico para desativar o cache.
  • Cache de disco deve ser desabilitado para usar a unidade com o SQL Server.
  • IDE e sistemas baseados em ATA podem adiar a comandos de host quando eles realizar atividades, como ajuste de bloco inválido. Isso pode levar a períodos de atividade de E/s interrompido.
Computador portátil/IDE
  • Girar em RPM 5.200.
  • Direcionado para computadores portáteis.
  • Consulte outros comentários na seção IDE e ATA.
  • Armazenamento ReadyDrive e NAND Flash pode fornecer recursos de E/s estáveis.
SATA
  • Girar em RPM 7,200.
  • Direcionado para desktops e servidores de intervalo médio.
  • Por padrão, o cache de disco está ativado. Use a guia 'Propriedades de disco', guia hardware para acessar a diretiva 'dos Propriedades,' ' para controlar a configuração de cache de disco.

    Observação Algumas unidades não respeitam essa configuração. Essas unidades requerem um utilitário de fabricante específico para desativar o cache.
  • Armazenamento maior capacidade e maior armazena em cache de partes de contador do IDE e ATA.
  • Cache de disco deve ser desabilitado para usar a unidade com o SQL Server.
  • Cabeamento e interconexões menor.
  • Fácil interconexão com Serial Attached SCSI (SAS) unidades e instalações.
  • Alguns incluem construções de previsão de falha.
SCSI
  • Girar em 10.000 e 15.000 RPM.
  • Projetado para servidores e aplicativos multiusuário.
  • Projetado para gramatura maior ciclos de imposto e taxas de falha reduzido.
  • Por padrão, o cache de disco está ativado. Use a guia 'Propriedades de disco', guia hardware para acessar a diretiva 'dos Propriedades,' ' para controlar a configuração de cache de disco.

    Observação Algumas unidades não respeitam essa configuração. Essas unidades requerem um utilitário de fabricante específico para desativar o cache.
  • Cache de disco deve ser desabilitado para usar a unidade com o SQL Server.
  • Sistemas de matriz e SAN normalmente usar cabos menores e interconexões.
  • Incluem construções de previsão de falha.
Serial Attached SCSI (SAS) inclui enfileiramento avançado até 256 níveis. SAS também inclui recursos como o chefe da fila e enfileiramento fora de ordem. Backplane SAS destina-se de maneira que permite o uso de SAS e SATA unidades dentro do mesmo sistema. Os benefícios do design SAS são óbvios.

A instalação do SQL Server depende da capacidade do controlador para desabilitar o cache em disco e para fornecer um cache de E/s estável. Escrever dados fora de ordem para vários discos não é um empecilho ao SQL Server, desde que o controlador fornece os recursos de cache de mídia estável correta. Aumenta a complexidade do design controlador com técnicas de segurança de dados avançados, como espelhamento.

Para proteger totalmente seus dados, você deve garantir que todos os dados de cache é tratado corretamente. Em muitas situações, isso significa que você deve desativar o cache de gravação da unidade de disco.

Observação Certifique-se que qualquer mecanismo de cache alternativo corretamente pode manipular vários tipos de falha.

Microsoft realizou testes em várias unidades SCSI e IDE usando o utilitário SQLIOStress . Esse utilitário simula a atividade de leitura/gravação assíncrona pesado para um dispositivo de dados simulados e o dispositivo de log. Estatísticas de desempenho de teste mostram as operações de gravação média por segundo entre 50 e 70 para uma unidade com cache de gravação desativada e um intervalo de RPM entre 5,200 e 7,200.

Para obter informações adicionais e detalhes sobre SQLIOStress, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
231619INF: SQLIOStress utilitários para o subsistema de disco de análise como SQL Server
Muitos fabricantes de computador (por exemplo, Compaq, Dell, gateway ou HP) as unidades da ordem com o cache de gravação desabilitado. No entanto, teste mostra que isso pode não ser o caso por isso, você sempre deve testá-lo completamente.

Observação Se houver qualquer pergunta como para o status de cache da sua unidade de disco, contate o fabricante e obter as configurações de jumper ou utilitário apropriadas para desativar as operações de cache de gravação.

Referências

Para obter detalhes completos nos requisitos de E/s do SQL Server, visite o seguinte site da Microsoft: http://www.microsoft.com/sql/alwayson/overview.mspx
SQL Server requer sistemas para oferecer suporte a ? entrega de mídia estável garantida ? conforme descrito no programa do Microsoft SQL Server Always-On armazenamento Solution revisão. FOPara obter mais informações sobre os requisitos de entrada e saídas para o mecanismo de banco de dados do SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
967576Requisitos do Microsoft SQL Server Database Engine entrada/saída

Propriedades

ID do artigo: 234656 - Última revisão: sexta-feira, 2 de novembro de 2007 - Revisão: 3.7
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
Palavras-chave: 
kbmt kbinfo KB234656 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 234656

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com