Execução do SQL Server Analysis Services com um disco rígido externo USB

2

Estou construindo um cubo no SQL Server Analysis Services que está usando a instância local do SQL Server como sua fonte de dados. A maior parte dos dados na fonte de dados é uma grande tabela de fatos (~ 200GB) que é muito grande para o disco rígido local, então movi os arquivos .mdf e .ldf desse banco de dados para um disco rígido externo USB. Eu quero manter esses arquivos no disco rígido externo, mas armazene o cubo processado no disco rígido local. Minha esperança é que, embora isso torne o processamento de cubo lento, a consulta do cubo ainda será rápida quando os clientes se conectarem

E quando eu posso processar o cubo, isso funciona: a consulta do cubo ainda é rápida porque as consultas do cubo não atingem o disco rígido externo USB lento. O problema que estou tendo é que muitas vezes quando vou processar o cubo, recebo erros como este:

"OLE DB error: OLE DB or ODBC error: Time-out occurred while waiting for buffer latch type 2 for page (1:1785), database ID 5.; 42000

Indo para o log de eventos, vejo erros como estes:

SQL Server has encountered 29351 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file [U:\sqldata\X.mdf] in database [X] (5). The OS file handle is 0x0000000000000164. The offset of the latest long I/O is: 0x00002f4b664000

Isso parece estar acontecendo porque o disco rígido USB está lento. Não me importo que as consultas necessárias para processamento demorem muito tempo, mas parece que o SQL Server tem um limite rígido para solicitações de E / S. Existe uma maneira de contornar isso?

    
por Nick Kavadias 09.10.2009 / 23:46

4 respostas

2

Você pode desativar esse comportamento com o sinalizador de rastreamento 830, para obter mais informações verifique este artigo no msdn

dbcc traceon(830, -1)

ou como um parâmetro de inicialização se você quiser que isso seja ativado permanentemente: adicione / T830 como um parâmetro de inicialização do serviço.

Veja como você tem discos baratos & seu servidor sql em execução 2008, dê uma olhada na ativação da compactação de página para todo o banco de dados, você terá uma pequena sobrecarga de CPU, mas eu diria que na sua situação os profissionais superam os contras.

    
por 14.10.2009 / 10:07
0

Você também pode verificar a fragmentação do disco? Isso pode acelerar um pouco.

(obviamente, na verdade, desfragmentar o disco, em vez de apenas verificá-lo, vai acelerar ...)

    
por 22.10.2009 / 15:23
0

Como você está executando o SQL Server 2008, eu sugiro olhar para o uso da compactação de dados em suas tabelas do Datawarehouse (se, de fato, você estiver usando um DW, que assumi a partir do seu texto). Pode ser possível colocar sua tabela de fatos na (s) unidade (s) de maior velocidade usando esta tecnologia.

    
por 07.11.2009 / 23:23
0

Certifique-se de ter excluído seus arquivos de banco de dados de qualquer verificação de antivírus, isso pode matar o desempenho em arquivos grandes.

    
por 08.11.2009 / 01:21