SQL TempDB no RAMDisk ou PCI-E?

1

Eu perguntei esta questão no dba.stackexchange

Como temos 800 GB de memória e os bancos de dados são apenas ~ 250 GB, planejamos colocar os arquivos tempdb do servidor SQL no RAMDisk alocando 100 GB aos seus arquivos de dados e log, em vez dos atuais SSDs (SAN Tier 1), já que nosso aplicativo de fornecedor é muito intensivo em tempdb.

É melhor que placas PCI-E? Nós nos preocupamos somente com a velocidade, não com a persistência, já que o tempdb é descartado e recriado toda vez que o SQL é reinicializado.

E preferimos fornecedores certificados pelo WQHL. Há algum para especificamente escolher ou evitar?

    
por d-_-b 17.01.2017 / 17:18

1 resposta

1

O TempDB não é descartado / criado pelo SQL Server. Os dados dentro dele não são preservados, mas os arquivos são. O SQL Server espera que eles sejam limpos na inicialização, assim como o conjunto de dados e arquivos de log de um banco de dados padrão.

Se você criar os arquivos TempDB em um disco RAM, eles serão destruídos na reinicialização, o que irá travar o SQL Server, já que requer que o DB exista em um estado limpo.

Eu acho que, em teoria, você poderia construir alguma lógica

  1. que usa um conjunto "limpo" de arquivos .mdb do TempDB de linha de base copiados enquanto o SQL Server é desligado
  2. e restaura-os na unidade RAM antes do SQL Server ser iniciado

Mas isso seria problemático e propenso a erros, pois você precisaria garantir que a cópia do arquivo fosse concluída antes do início do serviço de mecanismo do SQL Server.

Eu uso e recomendo a "Lista de verificação de configuração do SQL Server" do kit de primeiros socorros do Brent Ozar ao criar o SQL Server . Ele aborda as práticas recomendadas para construções do SQL Server.

    
por 02.02.2017 / 22:47