Reparo do SQL Server 2005

2

Eu tenho um SQL Server (no Windows XP) onde publiquei relatórios usando o Report Manager e um monte de bancos de dados. Dentro do SQL Server, tenho trabalhos agendados para executar atualizações em tabelas, etc. Eu vim nesta manhã para descobrir que o drive raiz morreu. Minha unidade é particionada de forma que meus bancos de dados não estejam na unidade raiz - por isso, consegui recuperar os bancos de dados.

Consegui usar um disco rígido anterior (de cerca de um mês atrás - atualizamos) e carregamos os bancos de dados atuais para o disco antigo. Eu estou tentando trazer a unidade antiga para acelerar com os dados de hoje, trabalhos, arquivos ...

Meus bancos de dados pareciam carregar bem.

O que não consigo fazer é visualizar os relatórios que usam o Gerenciador de Relatórios. Algumas perguntas:

  1. Os trabalhos que são executados pelo SQL Server são armazenados em um diretório diferente dos bancos de dados?
  2. Alguma ideia do que está acontecendo com o acesso aos relatórios do gerenciador de relatórios? Normalmente, uma máquina cliente pode acessar os relatórios usando o IE. - também não é possível conectar usando uma conexão ODBC com o Access. (o plugue de rede está conectado).
  3. Estou sentindo falta de outras peças que precisem ser restauradas para a visualização atual além dos bancos de dados?

Todas as sugestões são bem-vindas.

    
por peterjones 13.07.2015 / 17:59

2 respostas

-2

A primeira coisa que gostaria de fazer é interromper os serviços do SQL Server - Em seguida, faça uma cópia de todos os arquivos ldf / mdf no servidor. Encontre também a localização dos arquivos de backup - eles devem ter um nome como MyDBname_backup_200907220000.bak e renomear a extensão para algo como .hold. Dessa forma, eles não são eliminados por um plano de manutenção se você tiver que ir para restaurar.

Depois disso - só traga de volta o Serviço do SQL Server - e não o Agente do Servidor.

Verifique se os bancos de dados ainda estão marcados como suspeitos. Se eles são

ALTER DATABASE [MyDBName]
     SET EMERGENCY
GO
EXEC sp_resetstatus 'your_db_name';
GO
DBCC DBRECOVER ('your_db_name')
GO
ALTER DATABASE [MyDBName]
     SET ONLINE
GO

Se isso não funcionar, por favor poste de volta e nós podemos ver o que mais podemos fazer.

    
por 01.09.2015 / 12:46
4

Eu vou adivinhar, pelas suas perguntas, que você pode ter perdido o master e o msdb. Caso contrário, é difícil dizer a partir da sua pergunta, mas ...

  1. Os trabalhos são armazenados no MSDB. Se você tiver um backup, mas não os arquivos do MSDB, poderá restaurá-lo como old-msdb e encontrar os arquivos nas tabelas msdb.dbo.sysjob *.
  2. As conexões ODBC referem-se ao nome correto da máquina? As configurações de rede no novo nome da máquina estão corretas no SQL Server Configuration Manager? Também - pergunta idiota, mas eu tenho que perguntar - o gerenciador de relatórios / SSRS é instalado, certo? O firewall está permitindo a conexão? Também poderia ser permissões, especialmente se você perder o master.

Se você perdeu o master mas recriou os logins, seus logins do SQL podem ser "órfãos". Você pode dizer se você tem usuários órfãos executando

USE <database_name>;
GO; 
sp_change_users_login @Action='Report';
GO; 

Se você tiver usuários órfãos, poderá corrigi-los com

USE <database_name>;
GO
sp_change_users_login @Action='update_one', @UserNamePattern='<database_user>', 
   @LoginName='<login_name>';
GO

(Código do MSDN .)

    
por 14.07.2015 / 01:01

Tags