Você está offline; aguardando reconexão

Requisitos do subsistema de e/s do Microsoft SQL Server para o banco de dados tempdb

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 917047
Sumário
Microsoft SQL Server requer que o subsistema de e/s usado para armazenar os bancos de dados do sistema e do usuário totalmente cumprir requisitos de Write-Ahead log (WAL) por meio de objetos específicos de e/s. Esses requisitos são necessários para respeitar as propriedades ACID das transações: atômico, consistente, isolado e duráveis. São fornecidos detalhes sobre os requisitos de conformidade de subsistema de e/s nas seguintes referências:A lista a seguir está um resumo rápido dos requisitos:
  • A ordem de gravação deve ser mantida.
  • Consistência de gravação dependente deve ser mantida.
  • Gravações sempre devem ser protegidas no/na mídia estável.
  • Prevenção de e/s rasgada deve ocorrer.
Manutenção de durabilidade permanece essencial para todos os outros bancos de dados, mas pode ser reduzida para o banco de dados tempdb . A tabela a seguir resume a vários dos requisitos de e/s críticos para bancos de dados do SQL Server.
Requisito de e/sBreve descriçãoSistema ou usuáriotempdb
Escrever a ordenação

Consistência de gravação dependente
A capacidade do subsistema de manter a ordem correta das operações de gravação. Isso pode ser especialmente importante para o espelhamento de soluções, requisitos de consistência do grupo e uso do protocolo WAL do SQL Server.NecessárioRecomendado
Ler após a gravaçãoA capacidade do subsistema serviço solicitações com a imagem de dados mais recente de leitura quando a leitura é emitida após qualquer gravação for concluída com êxito.NecessárioNecessário
Sobrevivência em faltaA capacidade de dados permaneçam totalmente intacto (duráveis) através de uma paralisação, como um sistema reiniciar.NecessárioNão aplicável
Prevenção de e/s rasgadaA capacidade do sistema para evitar dividir solicitações de e/s individuais.NecessárioRecomendado
Reconfiguração do setorO setor só pode ser gravado em sua totalidade e não pode ser regravado devido a uma solicitação de gravação em um setor próximo.* Não recomendado, somente permitida se transacional* Não recomendado, somente permitida se transacional
Proteção avançada de dadosA expectativa de que, quando uma solicitação de gravação ou quando uma operação FlushFileBuffers é concluída com êxito, dados foram salvos para mídias estáveis.NecessárioNão aplicável
Tamanho e alinhamento de setor físicoSQL Server interroga os locais de armazenamento de arquivos de dados e de log. Todos os dispositivos são necessários para oferecer suporte aos atributos do setor que permite que o SQL Server para realizar gravações em limites físicos alinhada ao setor e em múltiplos do tamanho de setor.NecessárioNecessário
* Setor transacional regrava envolve operações totalmente conectadas pelo subsistema permitindo um setor a ser totalmente movidos, substituído ou revertida para a imagem original. Essas revisões são normalmente recomendados devido a sobrecarga necessária para realizar essas ações adicionais. Um exemplo disso seria um utilitário de desfragmentação está se movendo os dados do arquivo. O setor original no arquivo não pode ser substituído com o novo local do setor, até que o novo setor e os dados são totalmente protegidos. O remapeamento do setor deve ocorrer de forma transacional para que todas as falhas, incluindo uma queda de energia, faz com que o restabelecimento dos dados originais. Certifique-se de que você tenha mecanismos de bloqueio disponíveis durante esse tipo de processo para impedir o acesso de dados inválidos, mantendo assim os outros inquilinos de i/o do SQL Server.

Sobrevivência em falta

O banco de dados tempdb é uma área de rascunho para o SQL Server e recriado em cada inicialização do SQL Server. A inicialização prevalece sobre qualquer necessidade de dados sobreviver a uma reinicialização.

Operações de reconfiguração do setor transacional

Para garantir o sucesso dos processos de recuperação, como a recuperação de reversão e falha, os registros de log devem ser corretamente armazenados em mídia estável antes da página de dados é armazenada e não pode ser reescrita sem respeitar propriedades transacionais. Isso requer que o subsistema e o SQL Server para manter atributos específicos, como a ordem de gravação, setor alinhados e dimensionados gravações e outros esses atributos de segurança i/o descrito nos documentos mencionados anteriormente. Para o banco de dados tempdb , a recuperação de falhas é desnecessária porque o banco de dados sempre é inicializado durante a inicialização do SQL Server. No entanto, o banco de dados tempdb ainda requer recursos de reversão. Portanto, alguns atributos do protocolo WAL podem ser minimizados.

O local de armazenamento do banco de dados tempdb deve agir estritamente de acordo com protocolos estabelecidos de unidade de disco. Em todos os sentidos, o dispositivo no qual está armazenado o banco de dados tempdb deve aparecer e agir como um disco físico, oferecendo leitura após os recursos de gravação. Operações de reconfiguração do setor de transação podem ser um requisito adicional de implementações específicas. Por exemplo, o SQL Server não suporta modificações usando compactação do sistema de arquivos NTFS porque a compactação NTFS pode reescrever setores do log que já foram gravados e considerado protegidas de banco de dados. Uma falha durante este tipo de reconfiguração pode fazer com que o banco de dados pode ser usado, danificar dados nesse SQL Server já considerado seguro.

Observação: SQL Server 2005 estendido suporte ou compactação para ler somente os bancos de dados e grupos de arquivos. Consulte o SQL Server 2005 Books Online para obter detalhes completos.

Operações de reconfiguração do setor transacionais são pertinentes para todos os bancos de dados do SQL Server que incluem o banco de dados tempdb . Uma crescente variedade de tecnologias de armazenamento estendido usar dispositivos e utilitários que podem reescrever dados do SQL Server considera seguro. Por exemplo, algumas das tecnologias emergentes executam em memória cache ou compactação de dados. Para evitar danos graves de banco de dados, qualquer reconfiguração do setor deve ter suporte completo transacional de tal forma que se ocorrer uma falha, os dados são revertidos para as imagens anteriores do setor. Isso garante que o SQL Server nunca é exposto a uma interrupção inesperada ou condição de danos de dados.

Você poderá colocar o banco de dados tempdb em subsistemas de especialidade, como discos RAM, estado sólido ou outras implementações de alta velocidade que não podem ser usadas para outros bancos de dados. No entanto, os principais fatores apresentados na seção "Mais informações" devem ser considerados ao avaliar essas opções.
Mais Informações
Vários fatores devem ser cuidadosamente estudados ao avaliar o local de armazenamento do banco de dados tempdb . Por exemplo, o uso de banco de dados tempdb envolve, mas não está limitado a ocupação de memória, o plano de consulta e decisões de e/s. O ajuste apropriado e a implementação do banco de dados tempdb podem melhorar a escalabilidade e a capacidade de resposta de um sistema. Esta seção discute os fatores importantes na determinação das necessidades de armazenamento do banco de dados tempdb .

Subsistemas de alta velocidade

Existem várias implementações de subsistema de alta velocidade disponíveis no mercado que fornece o subsistema de e/s do SQL Server requisitos do protocolo mas que não oferecem durabilidade da mídia.

Importante: Sempre Confirme com o fornecedor do produto para garantir total conformidade com as necessidades de i/o do SQL Server.

Um disco RAM é um exemplo comum de tal implementação. Discos RAM instala os drivers necessários e permitem que parte do disco RAM principal apareça como e funciona como qualquer unidade de disco conectada ao sistema. Todos os subsistemas de e/s devem fornecer total conformidade com os requisitos de e/s do SQL Server. No entanto, é óbvio que um disco de RAM não é mídia durável. Portanto, uma implementação como um disco RAM só pode ser usada como o local do banco de dados tempdb e não pode ser usada para qualquer outro banco de dados.

Chaves a serem considerados antes da implementação e implantação

Há vários pontos a serem considerados antes da implantação do banco de dados tempdb neste tipo de subsistema. Esta seção usa um disco RAM como base para discussão, mas ocorrerem resultados semelhantes em outras implementações de alta velocidade.

Segurança de e/s

Conformidade de leitura após a gravação e gravações de setor transacional é obrigatória. Nunca implantar o SQL Server em qualquer sistema que não suporta totalmente os requisitos de e/s do SQL Server ou o risco de danos e a perda de dados.

Páginas já armazenada em cache (cache de RAM Double)

Tabelas temporárias são como todas as outras tabelas em um banco de dados. Eles são armazenados em cache pelo pool de buffer e controlados por operações de gravação lenta. Armazenar páginas da tabela temporária em um disco de RAM faz com que o double RAM cache, um no pool de buffer e um no disco de RAM. Isso leva diretamente para fora do tamanho possível total do pool de buffer e geralmente diminui o desempenho do SQL Server.

Desistir de RAM

O disco RAM designa uma parte da RAM principal como o nome sugere. Existem várias implementações de caches de arquivos baseados em RAM e discos de RAM disponível. Alguns também ativar a e/s física fazendo operações. O elemento-chave do cache de arquivo baseados em RAM é que ele leva diretamente para fora da memória física que pode ser usada pelo SQL Server. Sempre ter forte evidência que adicionar um cache de arquivo baseados em RAM melhora o desempenho do aplicativo e não diminuir o desempenho do outro aplicativo ou consulta.

Ajustar primeiro

Um aplicativo deve ajustar para remover classificações indesejáveis e desnecessárias e hashes que podem fazer com que o uso do banco de dados tempdb . Muitas vezes a adição de um índice pode remover a necessidade de classificação ou hash no plano completamente, levando a um desempenho ideal sem exigir o uso do banco de dados tempdb .

Pontos de possíveis benefícios

As vantagens de colocar o banco de dados tempdb em um sistema de alta velocidade só podem ser determinadas por meio de testes rigorosos e medidas das cargas de trabalho do aplicativo. A carga de trabalho tem que ser estudados cuidadosamente para as características que o banco de dados tempdb pode beneficiar e a segurança de e/s deve ser confirmada antes da implantação.

As operações de classificação e de hash funcionam em conjunto com os gerenciadores de memória do SQL Server para determinar o tamanho da área de rascunho na memória para cada operação de classificação ou hash. Assim que os dados de classificação ou hash excedem a área de rascunho alocada na memória, os dados podem ser gravados no banco de dados tempdb . Esse algoritmo foi expandido no SQL Server 2005, reduzindo os requisitos de uso do banco de dados tempdb em relação às versões anteriores do SQL Server. Por exemplo, usando uma classificação pura forçada de uma tabela, nenhum índice decrescente a ordem e a mesma configuração de hardware, o SQL Server 2005 mostra aperfeiçoamentos sobre o SQL Server 2000.

Cuidado SQL Server foi projetado para levar em conta os níveis de memória e atividades de consulta atual ao tomar decisões de plano de consulta que envolvem o uso das operações de banco de dados tempdb . Portanto, os ganhos de desempenho variam significativamente com base no design de aplicativos e cargas de trabalho. É altamente recomendável que você conclua o teste com a solução preferencial para determinar possíveis ganhos e avalie os requisitos de segurança de i/o antes de uma implantação como essa.

SQL Server usa o banco de dados tempdb para lidar com diversas atividades, envolvendo classificações, hashes, o armazenamento de versão de linha e tabelas de temp:
  • Tabelas temporárias são mantidas pelas rotinas comuns de pool de buffer para páginas de dados e em geral não exibem os benefícios de desempenho de implementações de subsistema de especialidade.
  • O banco de dados tempdb é usado como uma área de rascunho para hashes e classificações. Redução da latência de i/o para tais operações pode ser benéfico. No entanto, saiba que a adição de um índice para evitar um hash ou uma classificação pode fornecer um benefício similar.
Execute as linhas de base com e sem o banco de dados tempdb armazenados no subsistema de alta velocidade para comparar os benefícios. Parte do teste deve incluir consultas no banco de dados do usuário que não envolvem classificações, hashes ou tabelas temporárias e, em seguida, confirme que essas consultas não sejam afetadas negativamente. Quando você avaliar o sistema, os seguintes indicadores de desempenho podem ser úteis.
IndicadorDescrição/uso
Página leituras e gravaçõesMelhoria do desempenho do tempdb e/SS de banco de dados pode alterar a taxa de página leituras e gravações para os bancos de dados do usuário devido a latência reduzida associada ao banco de dados tempdb e/s. Para páginas de banco de dados do usuário, o número total não deve variar entre a mesma carga de trabalho.
Físico de leitura e gravação de bytes no banco de dados tempdbSe mover o banco de dados tempdb para um dispositivo, como um disco de RAM, aumentar a e/s real do banco de dados tempdb , ele indica que a memória retirada do pool de buffer está causando tempdb de maior atividade de banco de dados deve ocorrer. Esse padrão é um indicador que a expectativa de vida da página do banco de dados de páginas pode também ser afetada de forma negativa.
Expectativa de vida da páginaUma queda na expectativa de vida da página pode indicar um aumento nos requisitos de e/s físicos para um banco de dados do usuário. A redução da taxa provavelmente pode indicar que a memória retirada do pool de buffer está forçando a páginas de banco de dados poderá ser encerrado antecipadamente o pool de buffer. Combinar com outros indicadores e teste para entender totalmente os limites de parâmetro.
Taxa de transferência geral
Uso da CPU
Capacidade de expansão
Tempo de resposta
O objetivo principal de uma alteração de configuração de banco de dados tempdb é aumentar a produtividade geral. O teste deve incluir uma mistura de cargas de trabalho reproduzíveis que pode ser dimensionado para determinar como a taxa de transferência é afetada.

Algo parecido com uma implementação baseada em compactação de disco de RAM pode funcionar bem com 10 usuários. No entanto, com maior carga de trabalho, isso pode empurrar níveis de CPU além dos níveis desejados e tem efeitos negativos no tempo de resposta quando as cargas de trabalho são altas. Testes de tensão True e testes de previsão de carga futura serão fortemente incentivados.
Arquivos de trabalho e ações de criação de tabela do trabalhoSe mover o banco de dados tempdb para um dispositivo, como um disco de RAM, alterar o plano de consulta, aumentando o número ou o tamanho dos arquivos de trabalho ou de tabelas de trabalho, ele indica que a memória retirada do pool de buffer está causando tempdb de maior atividade de banco de dados deve ocorrer. Esse padrão é uma indicação de que a expectativa de vida da página de páginas de banco de dados também podem ser afetada de forma negativa.

Exemplo de reconfiguração do setor transacional

O exemplo a seguir elabora a segurança de dados é necessária para bancos de dados do SQL Server.

Suponha que um fornecedor de disco RAM usa uma implementação de compactação de memória. A implementação deve ser encapsulada corretamente, fornecendo a aparência física do fluxo de arquivo como se o setor foi alinhado e dimensionado para que SQL Server seja ciente e corretamente protegidos contra a implementação subjacente. Veja o exemplo de compactação mais próximo.
Ação
Setor 1 foi criado para o dispositivo e compactado para economizar espaço.
Setor 2 gravado no dispositivo e está compactado com setor 1 para economizar espaço.
O dispositivo pode executar as seguintes ações para ajudar a proteger os dados de setor do 1 quando este é combinado com dados do setor de 2.
Ação
Bloquear todas as gravações em setores 1 e 2.
Descompacte o setor 1 em uma área de rascunho, deixando o armazenamento atual do setor 1 como os dados de ativos a serem recuperados.
Compacte setores 1 e 2 em um novo formato de armazenamento.
Bloquear todas as leituras e gravações de setores 1 e 2.
Trocar armazenamento antigo para setores 1 e 2 com novo armazenamento.
Se a tentativa de exchange falhar (rollback):
  • Restaure o armazenamento original para setores 1 e 2.
  • Remova os dados de setores 1 e 2 combinados da área de rascunho.
  • Falha da operação de gravação do setor 2.
Desbloquear leituras e gravações de setores 1 e 2.
A capacidade de fornecer mecanismos de bloqueio ao redor as modificações do setor e reverter as alterações quando falha a tentativa de exchange do setor é considerada compatível com o temporariamente consistente. Para implementações que utilizam o armazenamento físico para backup estendido, ele inclui os aspectos de log de transação apropriado para ajudar a proteger e reverter alterações que foram aplicadas às estruturas em disco para manter a integridade dos arquivos de banco de dados do SQL Server.

Qualquer dispositivo que permite a reconfiguração dos setores deve suportar as regravações de forma transacional para que o SQL Server não é exposta à perda de dados.

Observação: A instância do SQL Server é reiniciada quando ocorrem falhas de reversão e e/s on-line no banco de dados tempdb .

Tenha cuidado ao mover o banco de dados tempdb

Tenha cuidado quando você mover o banco de dados tempdb , porque se o banco de dados tempdb não pode ser criado, o SQL Server não será iniciado. Se o banco de dados tempdb não pode ser criado, inicie o SQL Server usando o (-f) parâmetro de inicialização e mover o banco de dados tempdb para um local válido.

Para alterar o local físico do banco de dados tempdb , siga estas etapas:
  1. Use a instrução ALTER DATABASE e a cláusula de modificar o arquivo para alterar os nomes de arquivo físico de cada arquivo no banco de dados tempdb para referir-se a nova localização física, como o novo disco.
    Alter database tempdb modify file (name = tempdev, filename = 'C:\MyPath\tempdb.mdf')Alter database tempdb modify file (name = templog, filename = 'C:\MyPath\templog.ldf')
  2. Pare e reinicie o SQL Server.

Certificações de produto de parceiro não são um guaranty de compatibilidade ou segurança

Um produto de terceiros ou um fornecedor em particular pode receber uma certificação de logotipo da Microsoft. No entanto, certificação de parceiro ou um logotipo específico do Microsoft não certifica compatibilidade ou adequação para uma finalidade específica no SQL Server.

Suporte

Se você usar um subsistema com SQL Server que ofereça suporte as garantias de e/s para uso transacional do banco de dados conforme descrito neste artigo, a Microsoft oferecerá suporte para aplicativos baseados em SQL Server e SQL Server. No entanto, problemas com, ou causado por, o subsistema será chamado para o fabricante.

Para problemas relacionados a banco de dados tempdb , os serviços de suporte Microsoft pedirá que você para realocar o banco de dados tempdb . Contate o fornecedor do dispositivo para verificar se você corretamente implantado e configurar o dispositivo para uso de bancos de dados transacionais.

A Microsoft não certifica ou validar que produtos de outros fornecedores funcionem corretamente com o SQL Server. Além disso, a Microsoft não fornece qualquer garantia ou declaração de adequação de qualquer produto terceiros para uso com o SQL Server.
Referências
Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento Microsoft:
826433 PRB: Diagnóstico de adicionais do SQL Server adicionado para detectar problemas de e/s não reportados
828339 Mensagem de erro 823 pode indicar problemas de hardware ou problemas de sistema no SQL Server
234656 Usando o cache da unidade de disco com o SQL Server
304261 Descrição do suporte para arquivos de banco de dados de rede no SQL Server
913945 A Microsoft não certifica que os produtos de terceiros funcionará com o Microsoft SQL Server
910716 Requisitos para o SQL Server 2005 e SQL Server 2000 para oferecer suporte ao espelhamento remoto de bancos de dados do usuário
917043 Principais fatores a serem considerados ao avaliar sistemas de cache de arquivos de terceiros com o SQL Server
Usando o SSDs em VMs do Azure para armazenar TempDB do SQL Server e extensões do Pool de Buffer

Práticas recomendadas de desempenho para o SQL Server no Azure máquinas virtuais

Otimizar sua consulta planos com o SQL Server estimador de cardinalidade de 2014

Desempenho de consulta


As informações contidas neste documento representam a visão atual da Microsoft Corporation sobre os assuntos discutidos desde a data da publicação. Como a Microsoft deve responder às mudanças nas condições do mercado, não devem ser interpretada como um compromisso por parte da Microsoft, e a Microsoft não garante a precisão de qualquer informação apresentada após a data da publicação.

Este white paper é apenas para fins informativos. MICROSOFT NÃO OFERECE NENHUMA GARANTIA, EXPRESSA, IMPLÍCITA OU ESTATUTÁRIA, QUANTO ÀS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO.

Conformidade com todas as leis de direitos autorais aplicáveis é responsabilidade do usuário. Sem limitar os direitos autorais, nenhuma parte deste documento pode ser reproduzida, armazenada em ou introduzida em um sistema de recuperação ou transmitida em qualquer forma ou por qualquer meio (eletrônico, mecânico, fotocópia, gravação ou qualquer outro) ou para qualquer propósito, sem o permissão expressa, por escrito, da Microsoft Corporation.

A Microsoft pode ter patentes, aplicativos patenteados, marcas comerciais, direitos autorais ou outros direitos de propriedade intelectual abrangendo o assunto tratado neste documento. Exceto conforme expressamente determinado em qualquer contrato de licença por escrito da Microsoft, o fornecimento deste documento não lhe concede licença para essas patentes, marcas comerciais, direitos autorais ou outros direitos de propriedade intelectual.

© 2006 Microsoft Corporation. Todos os direitos reservados.

Microsoft, Windows, Windows Server e SQL Server são marcas registradas ou marcas comerciais da Microsoft Corporation nos Estados Unidos e/ou em outros países.
SQL Server requer sistemas para oferecer suporte a 'entrega garantida para mídias estáveis' como descrito underthe Requisitos do programa de confiabilidade do SQL Server e/s.Para 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 Microsoft:
967576 Requisitos de entrada/saída de mecanismo de banco de dados do Microsoft SQL Server


Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 917047 - Última Revisão: 05/15/2015 06:45:00 - Revisão: 2.0

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, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Business Intelligence, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbsql2005setup kbsql2005engine kbexpertiseadvanced kbinfo kbmt KB917047 KbMtpt
Comentários