en-USsv-SE
You are here:   Forum
Register   |  Login
HomeHomeDiscussionsDiscussionsHjälp!Hjälp!Udda fel Udda fel
Previous
 
Next
New Post
8/18/2010 2:10 PM
 
Hej,
Råkade ut för ett mycket udda fel som jag hoppas få en förklaring på.

I en instans av sql server så försvann alla tabeller ur samtliga databaser. Istället visades de tabeller som ligger i master på den instansen. Inga av databaserna var satta som suspect. En omstart av sqlservicen löste problemet första gången men felet uppkom igen. Vad vi tror så fick vi läsfel på en diskpartition som skapade felet.
Frågorna jag har är om man inte kan läsa databasens IAM-page faller databasen då tillbaka på masters IAM-page? Borde inte detta klassas som att databasen är suspect?

Tacksam för svar

/johan
 
New Post
8/18/2010 6:00 PM
 
Rakt av Nej!
Varje index och heap har sin egen IAM.

Den primära datafilens första EXTENT, dvs första åtta datasidorna, inleds med ett par specifika datasidor.
Först har du en File_Header, sedan en Page_Free_Space för att lokalisera lediga datasidor (för övrigt denna som är orsaken att du vill ha en datafil per processorkärna i TempDB), därefter kommer Global_Allocation_Map och en Secondary_Global_Allocation_Map för att lokalisera Uniform/Mixed/Empty extents. Ett Index eller Heap inleds med en FirstIAM för att lokalisera B-trädet som håller reda på objektets egentliga datasidor (extremt förenklat).

Du får gärna berätta lite er utförligt om felet, om du har nåt i ERRORLOG osv.

Fick ni fel på partitionen/volymen där databasernas primära datafiler, de som heter .MDF, ligger på blir databaserna suspecta. Dvs det går inte att lokalisera innehållet i databasen. Dock behöver du inte se det så i Management Studio/Object Explorer, inte alltid gränssnittet förljer verklig status.
 
New Post
8/19/2010 5:18 PM
 
Hej Mattias.
SQL server rapporterarade
Error: 823, Severity: 24, State: 2.
The operating system returned error 21(error not found) to SQL Server during a read at offset 0x0000000011c000 in file 'E:\Data\xxxxx.mdf'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.

Saker och ting pekar på att vi hade läs och skrivfel mot den volymen där datafilerna ligger. Det jag inte får ihop är hur tabellerna från master gick att se under varje userdatabas med Management Studio? Alla andra tabeller var försvunna.
Försökte med en CHECKDB mer för att se om det gick, men fick samma felmeddelande som ovan.

/Johan
 
New Post
8/24/2010 10:27 AM
 
Jag bedömmer det tveklöst som ett I/O problem. NET HELPMSG 21 ger "The device is not ready.", t.ex.

När du säger att du bara ser de tabeller som ligger i master så undrar jag om du syfter på de som egentligen ligger i resursdatabasen. Om så, så är det en smula mer troligt. Kom ihåg, till exempel, att system tabellerna, och säkert en hel del "i master" enegtligen är vyer, vars definitioner ligger i resurs databasen.

Man ska ju inte hålla det för osannoligt att då fått "pekarfel" (ordet används i lös bemärkelse) så att det resulterar i det du beskrev. Låter lite som en chans på miljarders miljarder, men mar man vart i datasvängen ett tag så vänjer man vid att ibland bara acceptera "det okända".

SQL Server ska inte på något sätt falla tillbaka på masterdatabasens filer och därmed filheaders, GAM, SGAM, PFS och IAM etc., på något sätt. Om du kan reproducera (svårt antar jag), och det ser ut som om så är fallet så skulle jag öppna ett case med MS (eller rapportera på connect).
 
Previous
 
Next
HomeHomeDiscussionsDiscussionsHjälp!Hjälp!Udda fel Udda fel


Annons