O Scritp abaixo foi usado para corrigir alguns problemas de reparação/instalação do MSSQL (2022).
Importante reiniciar o PC logo depois de executar o script em modo administrador.
@echo off
setLocal
rem CORRIGIR ERRO DE CONEXAO APOS A INSTALACAO (ERRO COMUM NO WINDOWS 10)
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes" /t REG_MULTI_SZ /d "* 4095" /f
rem CORRIGE ERRO DE "CLUSTER INICIADO E ONLINE"
rewm (COSTUMA ACONTECER NO COMANDO REPARAR)
echo Verificando o serviço de cluster...
sc query ClusSvc | findstr /I /C:"RUNNING"
if %ERRORLEVEL% NEQ 0 (
echo O serviço de cluster nao esta em execucao. Iniciando o servico...
net start ClusSvc
if %ERRORLEVEL% NEQ 0 (
echo Falha ao iniciar o servico de cluster.
goto end
)
echo Servico de cluster iniciado com sucesso.
) else (
echo O servico de cluster ja esta em execucao.
)
rem Verificar o estado do recurso do SQL Server no cluster
echo Verificando o estado do recurso do SQL Server no cluster...
powershell -Command "Get-ClusterResource | Where-Object { $_.Name -like '*SQL Server*' } | ForEach-Object { $_.State }" | findstr /I /C:"Online"
if %ERRORLEVEL% NEQ 0 (
echo O recurso do SQL Server nao esta online. Trazendo-o online...
powershell -Command "Get-ClusterResource | Where-Object { $_.Name -like '*SQL Server*' } | ForEach-Object { Start-ClusterResource $_ }"
if %ERRORLEVEL% NEQ 0 (
echo Falha ao trazer o recurso do SQL Server online.
goto end
)
echo Recurso do SQL Server trazido online com sucesso.
) else (
echo O recurso do SQL Server ja esta online.
)
:end
echo Script concluido.
endlocal
pause
@echo off
setlocal
rem PREPARA PRE REQUISITOS PARA A INSTALAÇÃO.
echo Verificando requisitos de instalação do SQL Server...
rem Verificar se o .NET Framework está instalado
echo Verificando .NET Framework...
reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v Release >nul 2>&1
if %ERRORLEVEL% NEQ 0 (
echo .NET Framework 4.5 ou superior nao esta instalado.
echo Por favor, instale o .NET Framework e tente novamente.
goto end
) else (
echo .NET Framework 4.5 ou superior encontrado.
)
rem Verificar se há atualizações do Windows pendentes
echo Verificando atualizacoes do Windows...
wmic qfe list brief /format:table | findstr /I /C:"KB"
if %ERRORLEVEL% NEQ 0 (
echo Nao foi possivel verificar atualizacoes do Windows. Por favor, verifique manualmente.
) else (
echo Atualizacoes do Windows verificadas.
)
rem Executar o verificador de arquivos do sistema
echo Executando o verificador de arquivos do sistema...
sfc /scannow
if %ERRORLEVEL% NEQ 0 (
echo Ocorreu um erro ao executar o verificador de arquivos do sistema.
goto end
) else (
echo Verificacao de arquivos do sistema concluida.
)
echo Pronto para tentar instalar o SQL Server novamente.
:end
pause
endlocal
@echo off
setlocal
echo Verificando e reparando o WMI...
rem Parar o serviço WMI
net stop winmgmt /y
rem Renomear o repositório WMI
if exist C:\Windows\System32\wbem\repository.old (
echo Repositorio WMI ja renomeado anteriormente.
) else (
rename C:\Windows\System32\wbem\repository repository.old
)
rem Reiniciar o serviço WMI
net start winmgmt
rem Recompilar os arquivos MOF e MFL
cd /d C:\Windows\System32\wbem
for %%s in (*.mof) do mofcomp %%s
for %%s in (*.mfl) do mofcomp %%s
echo Repositorio WMI reparado com sucesso.
rem Verificar e reparar o .NET Framework
echo Verificando o .NET Framework...
reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v Release >nul 2>&1
if %ERRORLEVEL% NEQ 0 (
echo .NET Framework 4.5 ou superior nao esta instalado.
echo Por favor, instale o .NET Framework e tente novamente.
goto end
) else (
echo .NET Framework 4.5 ou superior encontrado.
)
rem Pronto para tentar instalar o SQL Server novamente
:end
echo Script concluido.
pause
endlocal