O site hospedado no Plesk não está funcionando: Microsoft OLE DB Provider for SQL Server error '80004005'
imprimir- 0
Sintomas
Não é possível navegar no site hospedado no Plesk. O seguinte é mostrado em vez do conteúdo:
Microsoft OLE DB Provider for SQL Server error '80004005' Warning: Fatal error 9001 occurred at Dec 4 2017 2:41PM. Note the error and time, and contact your system administrator. /Default.asp, line 67 |
Não é possível suspender o revendedor Plesk:
C:\> C:\Program Files (x86)\Parallels\Plesk\admin\bin>reseller --off resellername Disable database user failed: mssqlmng failed: The log for database 'example.com_data' is not available. Check the event log for related error messages. Resolve any errors and restart the database. |
Não é possível adicionar o usuário do banco de dados para o banco de dados dbname em Domínios > exemplo.com > Bancos de dados > Gerenciamento de usuários > Adicionar usuário do banco de dados :
Error: Connection to the database server has failed: The log for database 'dbname' is not available. Check the event log for related error messages. Resolve any errors and restart the database. (Error code 1) |
Não é possível exportar o dump do banco de dados em Domains > example.com > Databases > dbname > Export Dump :
Source: System.Data Message: ExecuteNonQuery requires an open and available Connection. The connection's current state is closed. dbbackup.DbBackupException: Unable to backup database 'ARC_PIS' ---> System.Data.SqlClient.SqlException: Warning: Fatal error 9001 occurred at Dec 4 2017 2:41PM. Note the error and time, and contact your system administrator. BACKUP DATABASE is terminating abnormally. |
Causa
Arquivo de registro corrompido %plesk_dir%Databases\MSSQL\MSSQLXX.MSSQLSERVERXXXX\MSSQL\DATA\dbname.ldf
.
Observação: XX e XXXX correspondem à versão do SQL Server.
Solução
Conecte-se ao servidor usando RDP
Determine o nome do serviço SQL Server:
C:\> sc query | findstr MSSQL | findstr SERVICE_NAME SERVICE_NAME: MSSQL$MSSQLSERVER2017 SERVICE_NAME: MSSQLFDLauncher$MSSQLSERVER2017 SERVICE_NAME: SQLTELEMETRY$MSSQLSERVER2017 |
Parar o serviço SQL:
C:\> net stop MSSQL$MSSQLSERVER2017 |
Renomeie o arquivo de registro %plesk_dir%Databases\MSSQL\MSSQLXX.MSSQLSERVERXXXX\MSSQL\DATA\dbname.ldf
:
C:\> move %plesk_dir%Databases\MSSQL\MSSQLXX.MSSQLSERVERXXXX\MSSQL\DATA\dbname.ldf %plesk_dir%Databases\MSSQL\MSSQLXX.MSSQLSERVERXXXX\MSSQL\DATA\dbname.ldf.bkp |
Inicie o SQL Server:
C:\> net start MSSQL$MSSQLSERVER2017 |
Note: Para encontrar a causa raiz da corrupção do arquivo de registro do banco de dados, entre em contato com o suporte da Microsoft.
Caso o problema persista, reative o banco de dados
Conecte-se ao servidor via RDP
Abra o Microsoft SQL Server Management Studio e faça login na instância do SQL Server afetada como Administrador do Windows
Execute as seguintes consultas através do New Query :
USE master GO ALTER DATABASE dbname SET OFFLINE WITH ROLLBACK IMMEDIATE GO USE MASTER GO ALTER DATABASE dbname SET ONLINE GO |