Wat moet u doen om een als verdacht bestempelde SQL-databank te recupereren ?

0000001081     -      25-10-2017



Opgelet: de navolgende procedures gelden niet voor vroegere SQL Server-versies dan SQL Server 2005. MERCATOR heeft deze versies niet uitgebreid getest. Het gebruik van deze procedures valt volledig onder de verantwoordelijkheid van de uitvoerder. Dit bericht is enkel ter informatie.Een databank kan om verschillende redenen als verdacht worden beschouwd, bv.:

  • de databank of het logbestand ontbreekt;
  • de databank is corrupt;
  • SQL Server heeft onvoldoende geheugen beschikbaar om de databank bij het opstarten te herstellen.

Op deze pagina willen wij u enkele mogelijkheden bieden om bepaalde probleemgevallen op te lossen of toch minstens de mogelijkheid om de gegevens te exporteren naar een andere databank.
De voorgestelde oplossingen zullen de voorafgaande installatie van SQL Enterprise Manager vereisen. De opdrachten kunnen worden verwerkt via de Request Analyser (te openen via het menu Start).

Oplossing 1

Hierbij voert u in een opdrachtuitvoeringsvenster een "sp_resetstatus" uit in de Master databank voor de verdachte databank:

Use master
Go
sp_resetstatus Mijn_databank


Vervolgens start u de SQL Server opnieuw op; de databank zou opnieuw beschikbaar moeten zijn.

Oplossing 2

Als de eerste oplossing niet werkt, moet u de status manueel wijzigen. Daartoe voert u de volgende opdrachten één na één uit:

sp_configure 'allow updates', 1
Reconfigure with override
Go

Update sysdatabases set status = status ^ 256 where name ='Mijn_databank

sp_configure 'allow updates', 0
Reconfigure with override
Go


Start daarna de SQL Server opnieuw op; de databank zou opnieuw beschikbaar moeten zijn.

Oplossing 3

Kunt u het probleem ook met deze tweede oplossing niet verhelpen, dan blijft u nog de mogelijkheid om de databank in de urgentiemodus te zetten. Op die manier kunt u de gegevens naar een andere databank exporteren. Volg daartoe de volgende procedure:

sp_configure 'allow updates', 1
Reconfigure with override
Go

Update sysdatabases
Set status = status | -32768
Where name = ' Mijn_databank '
Go

sp_configure 'allow updates', 0
Reconfigure with override
Go


Daarna start u de SQL Server opnieuw op; de databank zou in de urgentiemodus moeten staan.
In Enterprise moet u de tabellen van de bewuste databank markeren en vervolgens de export starten door rechts te klikken met de muis (Alle taken).

Opgelet: specificeer altijd duidelijk de beoogde databank, standaard wordt de Master databank vermeld.