16
Missing segment in sysusages segmap.
This error is reported by dbcc checkcatalog if there is a row in sysusages (in the master database) that has a value of 0 (zero) in the segmap column. A value of 0 (zero) means that the corresponding space will not be used for further space allocation (data, log, or user-defined objects). The error is not fatal but it does indicate that any free space on that section of the database will not be used.
Possible causes of this error are:
All of the segments have been removed from a logical device (using sp_dropsegment).
A direct update has been made to the segmap column of sysusages where the value has been changed to 0 (zero).
If you do not want any new space allocated on the affected segment, no action is necessary.
Otherwise, run sp_addsegment or sp_extendsegment on the Sybase logical device that has the problem. If the segment does not already exist in syssegments, use sp_addsegment. If the segment exists, use sp_extendsegment.
To add a new segment:
1> use <database_name> 2> go
1> sp_addsegment <segname>, <database_name>, <devname> 2> go
Where:
<segname> is the name of the new segment.
<database_name> is the name of the database where the segment is to be defined.
<devname> is the name of the database device where <segname> will be located. (A database device may have more than one segment associated with it. The space on the new segment will be used only if you create tables or indexes on that new segment.)
To extend an existing segment on the device that has a segmap of 0 (zero):
1> use <database_name> 2> go 1> sp_extendsegment <segname>, <database_name>, <devname> 2> go
Where:
<segname> is the name of the existing segment. You can extend the segment called default. If you do, the command would be:
1> use <database_name> 2> go
1> sp_extendsegment "default", <database_name>, 2> <devname> 3> go
<database_name> is the name of the database where the segment is to be extended.
<devname> is the name of the database device that has the segmap 0.
To check that the problem has been resolved, type:
1> select * from sysusages where 2> dbid = db_id("<database_name>") and 3> segmap = 0 4> go
Where <database_name> is the name of the database where the segment you added or extended resides. If no rows are returned, the problem has been resolved.
For further information about sp_addsegment and sp_extendsegment, refer to the Reference Manual: Procedures.
For more information about segments, refer to “Creating and Using Segments” in the System Administration Guide: Volume 2.
All versions