Incorrect PFS free space information for page............

  • Hey guys!

    Have a little problem here. I set up a SSIS Maint. task and on my "Check Database Integrity" step, I get a failure with the following messages:

    Error: 0xC002F210 at Check Database Integrity Task, Execute SQL Task: Executing the query "DBCC CHECKDB WITH NO_INFOMSGS

    " failed with the following error: "Incorrect PFS free space information for page (1:105428) in object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). Expected value 0_PCT_FULL, actual value 100_PCT_FULL.

    Incorrect PFS free space information for page (1:105433) in object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). Expected value 0_PCT_FULL, actual value 100_PCT_FULL.

    Incorrect PFS free space information for page (1:105436) in object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). Expected value 0_PCT_FULL, actual value 100_PCT_FULL.

    Incorrect PFS free space information for page (1:105438) in object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). Expected value 0_PCT_FULL, actual value 100_PCT_FULL.

    CHECKDB found 0 allocation errors and 4 consistency errors in table 'sys.sysobjvalues' (object ID 60).

    CHECKDB found 0 allocation errors and 4 consistency errors in database 'KB'.

    repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKDB (KB).". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

    Task failed: Check Database Integrity Task

    Warning: 0x80019002 at Package: The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.

    From what I've found, it looks like I need to run DBCC CHECKDB with the REPAIR_ALLOW_DATA_LOSS option. I know nothing about the sysobjvalues table, what it does, etc. Looking for some expert advice on next steps/expectations.

    Also, to do this BOL says the DB must be in single user mode. I don't know how to do that either.

    Any information is greatly appreciated!

    Thanks!

  • sysobjvalues table is system table and I don't think you can do anything against this in 2005 because you can access directly system tables in 2005.

    I think you access the system table using DAC (dedicated adminitrator connection) and server should be single user mode to modify any system data...

    You can run dbcc with REPAIR_ALLOW_DATA_LOSS but becareful because the problematic table is system table...

    NOte: make sure you have backup before starting dbcc...

    If it is production server call PSS...

     

    MohammedU
    Microsoft SQL Server MVP

  • Ok. Do I need to put the whole instance into single user mode? Or is there some way to do it with just one database?

  • Server should be in single user mode...If you are modifying system tables...

     

    MohammedU
    Microsoft SQL Server MVP

  • these are system tables in the individual database, correct? Not instance-wide system tables, correct?

    sorry if it's a silly question.

  • I think so... but to modify any system tables your server should be in single user mode with DAC..

    MohammedU
    Microsoft SQL Server MVP

  • Updating system tables is not supported in sql server 2005.

    Your best bet is to restore from a valid SQL backup. However if you do not have a backup.

    1> First have a backup of the following KB database,

    3> Bring the Database KB in single user mode and not the whole server.

    ALTER DATABASE KB

    SET SINGLE_USER

    2> Try running dbcc checkdb with repair_allow_data_loss on the system table sysobjvalues

    dbcc checktable(sys.sysobjvalues, repair_allow_data_loss)

    3> If the above fixes the problem run checkdb again to check if there are 0 allocation and 0 consistency errors.

    If the database is not huge and is less than 10-15 GB you actually use SSIS to copy the data onto a different database.

    If this gets complicated Please contact Microsoft Support.

Viewing 7 posts - 1 through 6 (of 6 total)

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