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

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

Neste artigo

Sumário

Microsoft SQL Server requer que o subsistema de E/s usado para armazenar bancos de dados do sistema quanto do usuário totalmente honrar requisitos de write-ahead log (WAL) por meio de objetos de E/s específicos. Esses requisitos são necessários para aceitar as propriedades ACID de transações: atômico, consistente, isolado e Durable. Detalhes sobre requisitos de conformidade do subsistema de E/s são fornecidos nas seguintes referências:A lista a seguir está um resumo rápido dos requisitos:
  • Ordenação de gravação deve ser mantida.
  • Gravação dependentes consistência deve ser mantida.
  • Gravações sempre devem ser protegidas no/na mídia estável.
  • Prevenção de E/s interrompida deve ocorrer.
Manutenção de durabilidade permanece fundamental para todos os outros bancos de dados mas pode ser reduzida para o banco de dados tempdb . A tabela a seguir resume várias os requisitos de E/s críticos para bancos de dados do SQL Server.
Recolher esta tabelaExpandir esta tabela
requisito de E/s breve descrição sistema ou usuário tempdb
ordenação gravação

Consistência de gravação dependentes
A capacidade do subsistema para manter a ordem correta de operações de gravação. Isso pode ser especialmente importante para espelhamento de soluções, requisitos de consistência de grupo e uso do protocolo WAL do SQL Server.NecessárioRecomendado
leitura após a gravação A capacidade do subsistema serviço solicitações com a imagem mais recente de dados de leitura quando a leitura é emitida após qualquer gravação for concluída com êxito.NecessárioNecessário
sobrevivência em falta A capacidade de dados permanecem totalmente intacto (Durable) através de uma interrupção, como um sistema reinicia.NecessárioNão aplicável
Prevenção de E/s interrompida A capacidade do sistema para evitar dividir os solicitações de E/s individuais.NecessárioRecomendado
reconfiguração do setor O 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.* Desencorajado, somente permitidas se transacional* Desencorajado, somente permitidas se transacional
dados elevado A expectativa é que, quando uma solicitação de gravação ou quando uma operação FlushFileBuffers é concluída com êxito, dados foi salvo em mídia estável.NecessárioNão aplicável
Alinhamento de setor físico e tamanho SQL Server consulta os locais de armazenamento de arquivos de dados e log. Todos os dispositivos são necessários para oferecer suporte a atributos de setor permitindo que o SQL Server para executar gravações em limites físicos alinhado no setor e em múltiplos do tamanho de setor.NecessárioNecessário
Revisões de setor * transacional envolvem operações totalmente conectadas pelo subsistema permitindo que um setor para ser totalmente movido, substituído ou revertida para a imagem original. Essas revisões são geralmente não recomendados devido a sobrecarga necessária para executar 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 pelo novo local de setor até que o novo setor de inicialização e os dados são protegidos completamente. O remapeamento do setor deve ocorrer de forma transacional para que qualquer falha, incluindo uma falha de energia, faz com que o re-establishment dos dados originais. Verifique se você possui mecanismos de bloqueio disponíveis durante este tipo de processo para impedir acesso a dados inválidos, mantendo assim outros inquilinos de E/s 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 substitui qualquer necessidade de dados sobreviver a uma reinicialização.

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

Para garantir o sucesso dos processos de recuperação, como 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 regravada sem honrando propriedades transacionais. Isso requer o subsistema e SQL Server para manter a atributos específicos, como gravação ordenação, setor alinhados e dimensionados gravações e outros como atributos de segurança E/s descritos em documentos mencionados anteriormente. Para o banco de dados tempdb , a recuperação de falha é 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 relaxados.

O local de armazenamento para o banco de dados tempdb deve agir de acordo estrito com protocolos da unidade de disco estabelecidas. De todas as formas, o dispositivo no qual o banco de dados tempdb é armazenado deve aparecer e atuar como um disco físico fornecendo leitura depois de recursos de gravação. Operações de reconfiguração de setor de transação podem ser um requisito adicional de implementações específicas. Por exemplo, SQL Server não suporta modificações usando compactação do sistema de arquivos NTFS porque a compactação NTFS pode reescrever setores de log que já foram gravados e considerado protegidas de banco de dados. Uma falha durante este tipo de reconfiguração pode causar o banco de dados ser inutilizável, danificar dados que o SQL Server já considerado seguro.

Observação SQL Server 2005 estendido suporte ou compactação para ler somente bancos de dados e grupos de arquivos. Consulte o online do SQL Server 2005 livros para detalhes completos.

Operações de reconfiguração de setor transacionais são relevantes para os bancos de todos os 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 SQL Server considera seguro. Por exemplo, algumas das tecnologias emergentes executar em memória cache ou compactação de dados. Para evitar danos graves 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 de setor anterior. Isso garante que o SQL Server nunca seja exposto a uma interrupção inesperada ou condição de danos de dados.

Você poderá colocar o banco de dados tempdb em subsistemas especiais, 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 quando avaliar o local de armazenamento de banco de dados tempdb . Por exemplo, o uso de banco de dados tempdb envolve, mas não está limitado a, espaço de memória, plano de consulta e decisões de E/s. O tuning apropriado e implementação do banco de dados tempdb pode melhorar a escalabilidade e capacidade de resposta de um sistema. Esta seção aborda os principais fatores determinar as necessidades de armazenamento para o banco de dados tempdb .

Subsistemas de alta velocidade

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

importante Sempre confirme com o fornecedor do produto para garantir conformidade total com necessidades de E/s do SQL Server.

Um disco RAM é um exemplo comum de como uma implementação. Discos RAM instalar os drivers necessários e ativar parte o disco RAM principal para pareçam e funcionem como qualquer unidade de disco que é anexada 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 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.

Teclas para considerar antes de implementação e implantação

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

Segurança de E/s

Conformidade de leitura depois de 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 risco de danos e perda de dados.

Páginas já armazenados em cache (cache de RAM duplo)

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 manipulados por operações de gravação lenta. Armazenando páginas da tabela temporária em um disco RAM faz com que duplas RAM cache, uma no pool de buffer e outra no disco RAM. Isso leva diretamente longe tamanho possível total ?s 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. Há várias implementações de discos de RAM e caches de arquivos baseados em RAM disponível. Alguns também permitem fazer operações de E/s física. O elemento chave de cache de arquivos baseados em RAM é que ele diretamente se afastar da memória física que pode ser usada pelo SQL Server. Sempre ter forte evidência que adicionando um cache de arquivo baseados em RAM melhora o desempenho do aplicativo e não diminui outro desempenho de consulta ou aplicativo.

Ajustar primeiro

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

Benefício possíveis pontos

As vantagens de colocar o banco de dados tempdb em um sistema de alta velocidade somente podem ser determinadas por meio de testes rigorosos e medidas de cargas de trabalho da aplicativo. A carga de trabalho deve 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 hash trabalham junto com os gerentes 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 na memória alocada, 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 sobre versões anteriores do SQL Server. Por exemplo, usando uma classificação pura forçada de uma tabela, não há índices, decrescente ordem e a mesma configuração de hardware, SQL Server 2005 mostra perceptíveis aprimoramentos sobre SQL Server 2000.

cuidado SQL Server é projetado para considerar níveis de memória e atividades de consulta atual ao tomar decisões de plano de consulta que envolvem o uso de operações de banco de dados tempdb . Portanto, os ganhos de desempenho variar significativamente com base em cargas de trabalho e design de aplicativo. É altamente recomendável que você concluir o teste com a solução preferencial para determinar possíveis ganhos e avaliar requisitos de segurança de E/s antes como uma implantação.

SQL Server usa o banco de dados tempdb para manipular várias atividades envolvendo classificações, hashes, o armazenamento de versão de linha e temp tabelas:
  • Tabelas temporárias são mantidas pelas rotinas de pool de buffer comum para páginas de dados e geralmente não exibem benefícios de desempenho de implementações do subsistema especiais.
  • O banco de dados tempdb é usado como uma área de rascunho para hashes e classifica. Reduzir a latência de E/s para essas operações pode ser benéfica. No entanto, sabe que a adição de um índice para evitar um hash ou uma classificação pode fornecer um benefício similar.
Execute linhas de base com e sem o banco de dados tempdb armazenado no subsistema de alta velocidade para comparar os benefícios. Parte do teste deve incluir consultas no banco de dados de usuários que não envolvem classifica, hashes ou tabelas temporárias e confirmar que essas consultas não são afetadas negativamente. Quando você avaliar o sistema, os seguintes indicadores de desempenho podem ser útil.
Recolher esta tabelaExpandir esta tabela
indicador Descrição/uso
página lê e grava Melhorar o desempenho de tempdb banco de dados de E/s pode alterar a taxa de leituras de página e gravações para bancos de dados do usuário devido a latência reduzida associada com o banco de dados tempdb E/s. Para páginas do banco de dados de usuário, o número geral não deve variar entre a carga de trabalho mesma.
físico ler e gravar bytes para o banco de dados tempdb Se mover o banco de dados tempdb para um dispositivo, como um disco de RAM, aumenta a E/s real para o banco de dados tempdb , isso indica que a memória retirada fora do pool de buffer está causando a atividade de banco de dados maior tempdb para ocorrer. Esse padrão é um indicador que a expectativa de vida página do banco de dados de páginas podem também ser afetados de maneira negativa.
expectativa de vida da página Uma recusa na expectativa de vida da página pode indicar um aumento nos requisitos de E/s físicos para um banco de dados de usuário. A redução da taxa provavelmente pode indicar que a memória retirada fora do pool de buffer está forçando a páginas de banco de dados para sair do pool de buffer prematuramente. Combinar com outros indicadores e teste para entender os limites de parâmetro.
taxa de transferência Geral
Uso da CPU
Escalabilidade
Tempo de resposta
O objetivo principal de uma alteração de configuração do banco de dados tempdb é aumentar a produtividade geral. O teste deve incluir uma mistura de cargas de trabalho reproduzível que pode ser dimensionados para determinar como taxa de transferência é afetada.

Semelhante uma implementação de disco RAM com compactação pode funcionar bem com 10 usuários. No entanto, com carga de trabalho maior, isso pode empurrar CPU níveis além de níveis desejados e possui efeitos negativos no tempo de resposta quando as cargas de trabalho são altas. True testes de carga e testes de previsão de carga de futuros são altamente incentivados.
arquivos de trabalho e ações de criação de tabela de trabalho Se mover o banco de dados tempdb para um dispositivo, como um disco de RAM, altera o plano de consulta, aumentando o número ou tamanho de arquivos de trabalho ou tabelas de trabalho, isso indica que a memória retirada fora do pool de buffer está causando a atividade de banco de dados maior tempdb para ocorrer. Esse padrão é uma indicação de que a expectativa de vida página das páginas do banco de dados também podem ser afetada de maneira negativa.

Exemplo de reconfiguração de setor transacional

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

Suponha que um fornecedor de disco RAM usa uma implementação de compactação na memória. A implementação deve ser encapsulada corretamente, fornecendo a aparência física do fluxo de arquivo que o setor foi alinhado e dimensionado SQL Server é desconhece e corretamente protegidos da implementação subjacente. Examinar o exemplo de compactação mais próximo.
Recolher esta tabelaExpandir esta tabela
ação
Setor 1 é gravado para o dispositivo e é compactado para economizar espaço.
Setor 2 é gravado para o dispositivo e compactado com setor 1 para economizar espaço.
O dispositivo pode executar as ações seguintes para proteger dados setor ?s 1 quando ele é combinado com dados do setor ?s 2.
Recolher esta tabelaExpandir esta tabela
ação
Bloquear todas as gravações em setores 1 e 2.
Descompacte setor 1 para uma área de rascunho, deixando armazenamento atual do setor 1 como os dados ativos para ser recuperado.
Compacte setores 1 e 2 em um novo formato de armazenamento.
Bloquear todas as leituras e gravações de setores 1 e 2.
Armazenamento antigo para setores 1 e 2 com novo armazenamento do Exchange.
Se a tentativa de troca falhar (reversão):
  • Restaure o armazenamento original para setores 1 e 2.
  • Remova os dados de setores 1 e 2 combinados da área de rascunho.
  • Falha na operação de gravação setor 2.
Desbloquear leituras e gravações para setores 1 e 2.
A capacidade de fornecer mecanismos de bloqueio em torno das modificações de setor e reverter as alterações quando falha a tentativa de troca de setor é considerada transitionally compatível. Para implementações que usam armazenamento físico para backup estendido, ele incluirá os aspectos de log de transação apropriado para ajudar a proteger e reverter alterações que foram aplicadas às estruturas no disco para manter a integridade dos arquivos de banco de dados do SQL Server.

Qualquer dispositivo que permite a reconfiguração de setores deve oferecer suporte a recriação de forma transacional para que o SQL Server não é exposto à 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 ao 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, iniciar o SQL Server usando a (-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 , execute estas etapas:
  1. Use a instrução ALTER DATABASE e a cláusula MODIFY FILE para alterar o nome de arquivo físico de cada arquivo no banco de dados tempdb para se referir ao novo local físico, 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. Parar e reinicie o SQL Server.

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

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

Suporte

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

Para questões relacionadas no banco de dados tempdb , Atendimento Microsoft pedirá que você realocar o banco de dados tempdb . Contate o fornecedor do dispositivo para verificar se você tiver implantado corretamente e configurado o dispositivo para uso do banco de dados transacional.

Microsoft não certifica ou validar se os produtos de terceiros funcionam corretamente com o SQL Server. Além disso, a Microsoft não fornece qualquer garantia, guaranty ou declaração de adequação ?s qualquer produto de 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 da Microsoft:
826433PROBLEMA: SQL Server adicionais diagnóstico ao detectar problemas de E/s unreported
828339Mensagem de erro 823 pode indicar problemas de hardware ou problemas do sistema no SQL Server
234656Usando cache de disco com o SQL Server
110352Otimizar o desempenho do Microsoft SQL Server
304261Descrição do suporte para arquivos de banco de dados de rede no SQL Server
913945Microsoft não certificar que os produtos de terceiros irão funcionar com Microsoft SQL Server
910716Requisitos para o SQL Server 2005 e o SQL Server 2000 para oferecer suporte remoto de espelhamento de bancos de dados do usuário
917043Chaves fatores a serem considerados ao avaliar sistemas de cache de arquivos de terceiros com o SQL Server
As informações contidas neste documento representam a visão atual da Microsoft Corporation sobre os problemas discutidos como a data da publicação. Como a Microsoft deve responder às mudanças nas condições de mercado, não deve ser interpretado 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 é fornecido apenas para fins informativos. MICROSOFT FAZ GARANTIAS, EXPRESSAS, IMPLÍCITAS OU ESTATUTÁRIAS NESTE DOCUMENTO.

A 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 no ou introduzida em um sistema de recuperação ou transmitida de qualquer forma ou por qualquer meio (eletrônico, mecânico, fotocópia, gravação ou não) ou para qualquer propósito, sem a 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 abordem o assunto deste documento. Exceto se expressamente fornecido em qualquer contrato de licença escrito da Microsoft, este documento não lhe concede qualquer licença para essas patentes, marcas comerciais, direitos autorais ou outra propriedade intelectual.

© 2006 Microsoft Corporation. Todos os direitos reservados.

Microsoft, Windows, Windows Server e SQL Server são marcas registradas ou comerciais da Microsoft Corporation nos Estados Unidos e/ou outros países.
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: 917047 - Última revisão: sexta-feira, 2 de novembro de 2007 - Revisão: 1.6
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 kbsql2005setup kbsql2005engine kbexpertiseadvanced kbinfo KB917047 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: 917047

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