Link to home
Start Free TrialLog in
Avatar of BSS2011
BSS2011

asked on

SQL Server 2008: Could not find row in sysindexes for database ID 7, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes.

I am trying to attach a database but keep on getting the following error:
SQL Server 2008: Could not find row in sysindexes for database ID 7, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes.

I did run the DBCC CHECKTABLE on sysindexes and it returned with 104 rows with no errors.  I also ran DBCC CHECKDB --> but no errors.  

I am not migrating the database or upgrading from the previous verison of SQL server.  

Thanks
Avatar of Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3]
Flag of Luxembourg image

please check the compatibility value of the database, is it 100 or is it lower?
Try rebuilding the Clustered index on that particular table which might help out some times..
Avatar of BSS2011
BSS2011

ASKER

I ran the exec_sphelp and got 6 rows with dbnames, i see all my db's but not the one i need to attach.  Rebuilding index did not help.
>> I ran the exec_sphelp and got 6 rows with dbnames,

Do you mean exec sp_help ..
If so, then it would return all objects present in your current database and if you are not connected to your database, then run this

USE ur_db_name
GO
exec sp_help

>> Rebuilding index did not help.

What error or response did you got while rebuilding your clustered index.
Ideally Clustered index would be your Primary key but it some cases it varies.
So kindly check it once and rebuild it accordingly.
Avatar of BSS2011

ASKER

Ran this:
USE ur_db_name
GO
exec sp_help

Could not locate entry in sysdatabases for my database.  

When rebuilding the index i must use the ALTER INDEX right?
>> Could not locate entry in sysdatabases for my database.  

Missed mentioning that...
Replace ur_db_name with your database name and execute the above script.

>> When rebuilding the index i must use the ALTER INDEX right?

Yes, You need to use ALTER INDEX with REBUILD operation
or
Drop and recreate your index..
Avatar of BSS2011

ASKER

I did use my db name with sp_help.

If the db entry is not in sysindex table rebuilding index will not work.  Am I reindexing sysindex?
Avatar of BSS2011

ASKER

Tried re-indexing but could not locate entry in sysdatabases.
>> I also ran DBCC CHECKDB --> but no errors.  

Can you try running this:

DBCC CHECKDB ur_db_name WITH ALL_ERRORMSGS;
Avatar of BSS2011

ASKER

Same error:  could not locate entry in sysdatabases.
Are you sure your database is available in the instance you are testing with..
And is your database accessible.

Kindly run this query and paste its output here:

SELECT * FROM sys.databases
WHERE name LIKE '%ur_db_name%'

PS: Do replace ur_db_name with your db name.
Avatar of BSS2011

ASKER

I ran the query and got no results.  
Avatar of BSS2011

ASKER

When i ran the following this time:

USE ur_db_name
GO
exec sp_help

I got the error the administrator is not able to access the db.  Different error this time and I can see the db now in the object explorer but cannot access it.
Avatar of BSS2011

ASKER

I did a query on sys.databases again but returned with no rows.
ASKER CERTIFIED SOLUTION
Avatar of Raja Jegan R
Raja Jegan R
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of BSS2011

ASKER

Ended up restoring the backup.  
>> Ended up restoring the backup

Isn't the same which I have suggested you earlier in my comment http:#a34893569.
It would have been fair to accept my comment as solution..