corrupted msdb

  • i was doing a backup on sql 2000 and got this message

    Msg 3009, Level 16, State 2, Line 1

    Could not insert a backup or restore history/detail record in the msdb database. This may indicate a problem with the msdb database. The backup/restore operation was still successful.

    The statement has been terminated.

    Msg 823, Level 24, State 2, Line 17

    I/O error (bad page ID) detected during read at offset 0x00000055744000 in file 'q:\sqldbfiles\system db\MSSQL\data\msdbdata.mdf'.

    i checked the backup file with command restore verifyonly and the file was valid..but i was still concerned why was i getting this msg..

    i did dbcc checkdb on msdb and got these two msg

    Msg 8909, Level 16, State 1, Line 1

    Table error: Object ID 16784764, index ID 2, page ID (1:175010). The PageId in the page header = (6257:2127888662).

    Msg 8928, Level 16, State 1, Line 1

    Object ID 2117582582, index ID 2: Page (1:175010) could not be processed. See other errors for details.

    now my question is:

    1)im moving all the dbs from 2000 to 2005..i have a backup of msdb two days back..cani restore it on 2005..if i did will ii have any pbm on 2005..

    2)is there anyway to know when was msdb corrupted so that i can just take the backupfile of the day before it and restore it..

    please let me know..thx

  • I'd dig through the error log looking for older entries.

    I don't think you can restore 2000 msdb to 2005, structures are different, Agent different, etc.

    What I might suggest is take the 2000 instance, script out jobs, alerts, operators, etc. and them run the script on the 2005 instance.

  • how often you backup the databases?...if it is everyday at particular time (say 2 AM everyday), then did you get the error when you backed up databases at last time.

    moreover as steve mentioned, you cannot migrate a msdb databases ( especially any system databases) from 2000 to 2005. a quick question....are you moving to any new server for sql 2005. if it is then you can install the sql server 2000 in the new machine first and then copy all of the logins, jobs, packages, to new server. then upgrade the new machine to sql 2005.

  • thanks for replying..we might not want to spend money for another instance of 2000..like Steve said scripting out jobs and other stuff could be possible..but does he means to go to each job and script it out..that would be painful as there are plenty....and how do i transfer DTS packages..thnx./

  • Why spend money? Pop a VM, install, restore, script, delete. No licensing issue. MS won't bang you for getting to the next version.

    For DTS packages, you can try to upgrade, you can purchase a tool from Pragmatic Works, or you can save to file, and then download the DTS Runtime for 2005 and execute them on the 2005 instance.

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply