Results 1 to 3 of 3
  1. #1
    Join Date
    Nov 2007
    Posts
    1

    Unanswered: how to create "sysobjects" table

    Hello everyone.

    I'm facing to a serious problem.

    I wanted to migrate SQL 2000 -> SQL 2005.

    First of all, I tried to attach my *.mdf file to SQL 2000. but It was not only failed but also SQL 2005 failed to recover my *mdf file.

    Now, I think my *.MDF file has system tables for SQL 2005 because when trying to attach *.mdf to SQL 2000 engine send the following message :

    --------------------------------------------------------------------------
    Msg 906, Level 22, State 2, Line 1
    Could not locate row in sysobjects for system catalog 'Sysobjects' in database 'rudol.net'. This system catalog should exist in all databases. Run DBCC CHECKTABLE on sysobjects in this database.
    --------------------------------------------------------------------------

    Also, I tried again to attach the *.mdf to SQL 2005 but SQL 2005 doesn't really works.

    Stupidly, I didn't back up the *.mdf file.

    How do I attach it to SQL 2005 or recovery "sysobjects" table for SQL 2000?
    Please answer.

    P.S.
    Forgive my terrible English. English is not my mother tongue.
    Last edited by rudol; 11-13-07 at 03:20.

  2. #2
    Join Date
    Jan 2004
    Location
    In a large office with bad lighting
    Posts
    1,040
    Without a backup or a copy of the files, you are screwed. When you attached the file to 2005, it started making internal changes that cannot be reversed by attempting to reattach it to 2000.

    You will have to go to the latest backup that you have, restore it to 2000, and add back any missing transactions from the one that got hosed.

    Always, always make a backup before changing stuff in a database!

    -- This is all just a Figment of my Imagination --

  3. #3
    Join Date
    Feb 2004
    Location
    In front of the computer
    Posts
    15,579
    Provided Answers: 54
    Your English isn't bad at all... You don't write things the way that a native speaker would write them, but you certainly do write things so that a native speaker can read them!

    The solution to your problem gets complex for a number of reasons.

    The MDX file is only part of a SQL Server database, it is the "root store" for all data. There is always an LDF file that stores the log information. There can also be NDF files too, which are additional data storage when you have more than one data file in your database. You need to have ALL of these files in order for a reattach to work in most cases, attaching only one file of a set will usually fail and will always be incomplete.

    The cheapest, easiest solution is to restore a current backup. My guess is that you probably don't have a current enough backup to make this practical, but it is by far your best answer.

    If you really need to salvage what you can from the MDF file, I see a couple of choices, all of which are bad in some way.

    To get the most usable data the fastest, I would suggest that you call Microsoft Premier Support Services. This will cost less than $1000 USD, probably take less than a day, and will recover as much data as you are likely to get from just the MDF file. As a side effect, it will get some routine analysis of your system configuration and a lot of comments that will help you improve that configuration as part of the process of salvaging your data.

    If you have more or less unlimited time to spend on the salvage operation, you can try to "do it yourself" with help from the internet. There are a number of folks that have salvaged data in similar situations, and we can probably talk you through a significant recovery somewere between a week and a month.

    There are other choices, but these are the only ones that make sense to propose at this point. As the discussion moves on further, we may want to explore some of the other options.

    -PatP

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •