select * from sysobject crashes

when i do the first query from below, i get
Msg 0, Level 11, State 0, Line 0
A severe error occurred on the current command.  The results, if any, should be discarded.
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command.  The results, if any, should be discarded.

the second & third one are fine.. why would the select be a problem? i was watching it in profiler, but could not find what is offending..
exec sp_msforeachdb 'use [?] if exists (select 1 from [?]..sysobjects where name = ''licuser'')  select count(*) from licuser'
exec sp_msforeachdb 'use [?] if exists (select 1 from [?]..sysobjects where name = ''PMTellStat'')  select count(*) from PMTellStat'

exec sp_msforeachdb 'use [?] if exists (select 1 from [?]..sysobjects where name = ''abcd123THISDOESNOTEXIST'')  select count(*) from abcd123THISDOESNOTEXIST'

Open in new window

LVL 5
25112Asked:
Who is Participating?
 
JestersGrindConnect With a Mentor Commented:
If it is corrupt statistics, the only way to fix it that I know of is to rebuild the indexes.  As far as I know, there is no way to detect corrupt statistics.  Other than when you receive the error.

Greg

0
 
25112Author Commented:
i found the database it is failing..

select * from licuser gives the above errors, too.. so it is not sysobjects.. i went to ssms adn drilled through the table.. i am getting the error on 'statistics'..

what corrupts a statistic? any way to fix this? can we check how many more tables are like this?
0
 
25112Author Commented:
i ran checkdb, and it comes back as

CHECKDB found 0 allocation errors and 0 consistency errors in database
0
[Webinar] Improve your customer journey

A positive customer journey is important in attracting and retaining business. To improve this experience, you can use Google Maps APIs to increase checkout conversions, boost user engagement, and optimize order fulfillment. Learn how in this webinar presented by Dito.

 
25112Author Commented:
this is in sql r2.
0
 
EvilPostItConnect With a Mentor Commented:
As per jestersgrinds comment rebuild all of the tables indexes using

ALTER INDEX ALL ON [TableName] REBUILD

Open in new window

0
 
25112Author Commented:
just before i saw your post, the had put sp1, and since then i do not get that error anymore. does a new service pack rebuild indexes?
0
 
EvilPostItCommented:
No i dont believe so. Otherwise if you have large databases it could take a very long time to upgrade...
0
 
25112Author Commented:
i had a ticket with MS for something else.. and this was explained to me this way:
SP1 - because it implements many system views/tables as part of its installation, it goes through and validates/refreshes all the statistics, because all the objects have to have reference to the new implementations of SP1...

in terms of checking in the future for statistic corruption, would you think the following idea is efficient:
sp_msforeachtable 'select top 1 * from ?'
if there is any problem with the table statistics, it will err out?

If I should have this issue later anytime, i guess the index rebuild will help out big time.. i could just run it on the offending tables? would you say so?
0
 
EvilPostItConnect With a Mentor Commented:
Hmmm, thats interesting...

You are better off just rebuilding the table in future as that will rebuild the stats too.
0
 
25112Author Commented:
OK- what is the syntax to 'rebuild table'
0
 
Anthony PerkinsConnect With a Mentor Commented:
>>OK- what is the syntax to 'rebuild table' <<
You may want to re-read the thread.  Specifically this comment:
http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/Q_27299647.html#a36510302
0
 
25112Author Commented:
yes, helped.
0
All Courses

From novice to tech pro — start learning today.