Toon posts:

[MSSQL] Restore van een database

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste Tweakerts,

Na inmiddels heel wat kostbare uurtjes te hebben besteed aan dit probleem zie ik voorlopig geen licht in de duisternis. Ik hoop dat ik met jullie adviezen weer wat verder kom.

Een aantal dagen terug is door een collega een database dusdanig aangepast dat al zijn andere collega's voorlopig geen koffie meer voor hem gaan halen. Gelukkig hebben we een backup gemaakt met de standaard backuptool van Windows 2003. Uiteraard is het geluk zelden met ons en nu blijkt de gemaakte backup deels corrupt.

Van de backup kan ik gelukkig wel de 2 bestanden restoren van de database (.LDF en .MDF bestand). Deze lijken verder te werken, maar hier begint mijn twijfel al over de algehele integriteit van de data.

Ik heb een nieuwe installatie van Windows 2003 gedaan op Microsoft Virtual PC 2004 en hierop SQL Server 2000 Enterprise Edition geïnstalleerd. Hierin heb ik vervolgens een database met een identieke naam als de database van de backup aangemaakt. Vervolgens heb ik de SQL Server gestopt, de .MDF en .LDF bestanden overschreven met de bestanden van de backup. Hierna heb ik de SQL Server weer gestart. Via de SQL Query Analyzer heb ik geprobeerd het volgende commando uit te voeren:
code:
1
2
3
ALTER DATABASE "logistiek-productie"
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE

Resultaat:
code:
1
The command(s) completed successfully.

Dit lijkt toch aan te geven dat de bestanden enigszins functioneren.
Vervolgens:
code:
1
DBCC CHECKDB

Resultaat:
code:
1
2
3
Server: Msg 8966, Level 16, State 1, Line 1
Could not read and latch page (1:107) with latch type SH. sysindexes failed.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

En deze melding blijft vervolgens bij zo goed als alle commando's terugkomen.
Op MSDN wordt de volgende verklaring gegeven:
When Windows I/O operations fail due to insufficient system resources or because of insufficient working set quota, SQL Server reports error 823 or error 8966 without attempting a retry. These conditions can be reported by the operating system on a normal system, due to the current workload at that instance. If you retry the operation later it might work because of changing loads and system resources availability.
Buiten dat dit artikel alleen betrekking heeft op SQL Server 7.0 Standard Edition zie ik absoluut geen extreme load op mijn (virtual) machine. Wellicht dat het toch iets heeft te maken met het feit dat dit een virtual machine is?

Kan iemand mij alsjeblieft verder helpen?

/Edit:
Overigens kan ik via de SQL Server Enterprise Manager niets doen, want alles resulteert in
code:
1
error 0:General Error

[ Voor 5% gewijzigd door Verwijderd op 24-05-2005 14:44 ]


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Ik begrijp niet precies wat je wilt? Je wilt op een nieuwe server ook de backups terugzetten om de integriteit te testen?

Je kunt met sp_attach bestaande mdf bestanden aan een db koppelen. Het lijkt me overigens dat als de database weer goed werkt ook de data correct is, als het bestand corrupt van de db zou komen zou de db helemaal niet meer werken lijkt me.

oh, en nog even

code:
1
DENY ALL TO [collega-naam]

:)

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Topicstarter
Ja, het is even lastig alles duidelijk uit te leggen.
Ik wil eigenlijk simpelweg de database restoren. Dit dan in een test-omgeving omdat wellicht de data corrupt is en ook om gewoon even op mijn gemak te kunnen werken. De 2 bestanden zijn dus de databasefiles van voor dit voorval. Maar ik krijg ze dus niet 'attached'.

Ik vergeet nog te vertellen dat nadat ik de database had gemaakt de volgende stappen ook heb gedaan:
code:
1
sp_detach_db @dbname='logistiek-productie'

code:
1
2
The command(s) completed successfully.
Connection Broken


code:
1
sp_attach_db @dbname='logistiek-productie',@filename1='C:\Local Data\Backup\temp\logistiek-productie_Data.MDF',@filename2='C:\Local Data\Backup\temp\logistiek-productie_Log.LDF'

code:
1
2
The command(s) completed successfully.
Connection Broken


Als ik dan weer met DBCC CHECKDB aan de gang ga krijg ik weer de melding:
code:
1
2
3
Server: Msg 8966, Level 16, State 1, Line 1
Could not read and latch page (1:107) with latch type SH. sysindexes failed.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Verwijderd

Topicstarter
Als ik nu de MDF via de Enterprise koppel krijg ik de melding:

code:
1
Error 605: Attempt to fetch logical page (1:49) in database 'logistiek-productie2' belongs to object 'sysfilegroups' , not to object 'syscolumns'.


Als ik een GCC CHECKTABLE('syscolumns') doe krijg ik:
code:
1
2
3
Server: Msg 8946, Level 16, State 12, Line 2
Table error: Allocation page (1:24264) has invalid PFS_PAGE page header values. Type is 0. Check type, object ID and page ID on the page.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

[ Voor 60% gewijzigd door Verwijderd op 24-05-2005 16:48 ]


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Ik denk toch een corrupt bestand helaas. Ik denk dat je hiervoor beter terecht bent bij MS Support.

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Topicstarter
Ah, zoiets vermoedde ik inmiddels ook wel. In ieder geval bedankt voor je hulp! :)
Pagina: 1