Identifying rows from a page reference

Identifying rows from a page reference

Post by DanD » Thu, 31 Jul 1997 04:00:00



I have been recovering a database that has bad pointers to text fields.
When DBCC CheckDB is run I only get a page reference.  Is there any way to
identify the rows affected so that I can set those fields to NULL?

Checking 219199881
The total number of data pages in this table is 1390.
The total number of TEXT/IMAGE pages in this table is 19129.
Table has 6672 data rows.
Msg 614, Level 21, State 1
A row on page 94986 was accessed that has an illegal length of -1024 in
database 'HS'

 
 
 

Identifying rows from a page reference

Post by Jo Clae » Fri, 01 Aug 1997 04:00:00



> I have been recovering a database that has bad pointers to text fields.
> When DBCC CheckDB is run I only get a page reference.  Is there any way to
> identify the rows affected so that I can set those fields to NULL?

> Checking 219199881
> The total number of data pages in this table is 1390.
> The total number of TEXT/IMAGE pages in this table is 19129.
> Table has 6672 data rows.
> Msg 614, Level 21, State 1
> A row on page 94986 was accessed that has an illegal length of -1024 in
> database 'HS'

I have got a bad text pointer too. Do you know a manner how I can set
the pointer to NULL. I know the field that is causing the trouble by
selecting entier table and sees where it hangs.

You can try also the function TEXTVALID this function indicates which
rows have bad or NULL pointers.

Thanks,

Jo Claes

 
 
 

Identifying rows from a page reference

Post by Randy Brok » Mon, 04 Aug 1997 04:00:00


I am not sure how to fix this, but to get more info try:

DBCC TraceOn(3604)

'    DBCC Page(dbid|Name, pagenum [ , printopt {0|1|2}, cache {0 =
'      disk, 1 = cache} ] )

DBCC Page (<dbname> , 94986, 1)

DBCC TraceOff(3604)

DBCC Page will display the data stored on the page as well as give you
an objectid that you can use to determine which object is affected as
follows:

Select * from SysObjects where id = <ObjectId>

BTW, I would be interested in hearing how you fix this problem . . .

Hope this helps,
Randy Brokaw

Data National Corp


>I have been recovering a database that has bad pointers to text fields.
>When DBCC CheckDB is run I only get a page reference.  Is there any way to
>identify the rows affected so that I can set those fields to NULL?
>Checking 219199881
>The total number of data pages in this table is 1390.
>The total number of TEXT/IMAGE pages in this table is 19129.
>Table has 6672 data rows.
>Msg 614, Level 21, State 1
>A row on page 94986 was accessed that has an illegal length of -1024 in
>database 'HS'

 
 
 

Identifying rows from a page reference

Post by David L. Cheri » Sun, 10 Aug 1997 04:00:00


ProActive DBA will let you open the bad database page
referenced. It will translate the rows on the page and let
you save them as an SQL script. This is quite useful in
that it will let you determine which rows to NULL out.

More info. can be found:
        http://www.whitesands.com

-----------------------------------------------------------

White Sands Technology, Inc.            http://www.whitesands.com
818-340-3300 ext. 221           818-340-3301 fax

DBCCs running too slow? Need to do some I/O Load Balancing?
Got Table/Index Fragmentation? Want to speed up those queries?

ProActive DBA will determine the current fragmentation levels
of your tables/indexes, calculate the exact amount of space
(in bytes) that your tables/indexes occupy, and allow you to
graphically view the pages/extents that your tables/indexes occupy.

Check out ProActive DBA - ProActive and Maintenance Tuning for SQL Server
-----------------------------------------------------------



Quote:> I have been recovering a database that has bad pointers to text fields.
> When DBCC CheckDB is run I only get a page reference.  Is there any way
to
> identify the rows affected so that I can set those fields to NULL?

> Checking 219199881
> The total number of data pages in this table is 1390.
> The total number of TEXT/IMAGE pages in this table is 19129.
> Table has 6672 data rows.
> Msg 614, Level 21, State 1
> A row on page 94986 was accessed that has an illegal length of -1024 in
> database 'HS'

 
 
 

1. Identifying rows from page references in broken database

I have been recovering a database that has bad pointers to text fields.
When DBCC CheckDB is run I only get a page reference.  Is there any way to
identify the rows affected so that I can set those fields to NULL?

Checking 219199881
The total number of data pages in this table is 1390.
The total number of TEXT/IMAGE pages in this table is 19129.
Table has 6672 data rows.
Msg 614, Level 21, State 1
A row on page 94986 was accessed that has an illegal length of -1024 in
database 'HS'

2. TEMPSPACE1 is FULL or file is too large (at OS or user limit)

3. Identifying a row from a page reference

4. Cannot generate SSPI context

5. Identifying stored procedures that have a reference to the column that needs to

6. postgresql and java

7. create a page list that outputs 5 rows per page in PL/SQL

8. Database Performance Tuning

9. Selecting the @@Identify using active server pages.

10. Identifying table with page number.

11. Identify all Pages belonging to an Object

12. How to identify the table for a given page number w/i a file group

13. Identifying a specific data page