Num dos passos do processo de instalação do SQL Server 2008, é feita uma verificação sobre vários requisitos essenciais, que caso não sejam cumpridos podem impedir que a instalação possa prosseguir. Um desses itens: “Performance counter registry hive consistency”, tem sido um impedimento de instalação para muitos utilizadores. Esta rotina, verifica o registo do Windows, onde espera encontrar uma chave com um determinado valor em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\XXXX. Na inexistência dessa chave, é gerado um erro!
Era suposto existir algum patch oficial, ou uma forma simples de resolver a questão, porque todo o software em questão, Sistema Operativo e SQL Server são Microsoft. Existem sim alguns patch feitos por terceiros, que não pude confirmar a sua eficácia.
No meu caso o problema ocorreu na instalação do SQL Server 2008 + Management Tools, em Inglês, no Windows Server 2008 e VISTA em Português de Portugal.
Depois de pesquisar na Internet sobre como resolver este problema, e também qual a sua causa, encontrei vários artigos de resolução, quer de outros utilizadores, quer da própria Microsoft. Todos eles com métodos e explicações difíceis, difusas, demoradas, e que nem sempre funcionam. Felizmente, encontrei em alguns sítios, como neste e também neste blog, um método que achei mais simplificado, e que resultou na perfeição no meu caso! Sem querer tirar os créditos dos devidos autores, vou exemplificar como proceder.
Se o idioma nativo do Windows que está a utilizar é Português, passe directamente para o PASSO 3.
OBS: Se utilizou, como no exemplo deste post, um Language Pack (ficheiro que permite alterar o idioma do sistema, quer no Vista, Windows 2008 ou Seven), comece no PASSO 1.
PASSO 1
Para começar vamos ter que correr uma aplicação chamada Process Monitor, que podem encontrar aqui. Esta aplicação consegue monitorizar todas as chaves do registo acedidas por uma aplicação. Para filtrar a informação que pretendemos, neste caso vamos criar um filtro (CTRL+L), em que apenas vão ser mostrados eventos relacionados com o processo Setup100.exe.
Depois de aplicar o filtro, e limpar os registos (CTRL+X), vamos fazer Re-run na instalação do SQL Server.
PASSO 2
Temos agora todos os eventos gerados pelo SQL Server. Podemos fazer uma busca (CTRL+F) e colocar no campo de busca: “perflib”.
Como podemos verificar, durante a instalação o SQL tenta aceder a uma chave que não existe: 016. Na coluna resultado, podemos confirmar que não obteve sucesso. Vamos anotar este valor.
PASSO 3
É necessário criar manualmente uma chave no registo com todos os atributos de uma outra já existente. Esse processo passa por aceder ao registo em: Menu Iniciar > Executar > regedit.
Dada a importância desta base de dados, e das consequências de alterações indevidas, é importante fazer uma cópia de segurança antes de qualquer alteração:
PASSO 4
Vamos agora aceder à chave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\ e vamos exportar uma das já existentes. No meu caso a 009, para o ambiente de trabalho por exemplo.
PASSO 5
Uma vez exportada a chave, vamos editar a mesma, com o bloco de notas…
Na 3ª linha, (onde está seleccionado), logo a seguir a “Perflib\” vamos tirar o que lá estiver, e colocar o valor que anotamos em cima.
OBS: Se começou directamente no PASSO 3, o valor que tem de colocar é: 016.
Vamos guardar o ficheiro, e logo de seguida fazer duplo clique. Irá surgir uma janela a pedir que confirmemos a alteração do registo. Caso necessário, deverá desactivar o anti-vírus, uma vez que este pode considerar a alteração como sendo nociva para o sistema.
Confirmando a operação. Existe agora a nova chave 016 em perflib.
Na instalação do SQL, basta agora fazer Re-Run, e verificar que o problema foi ultrapassado com sucesso!!
Nenhum comentário:
Postar um comentário