Determining which allocations are on the master device

NoteThe examples in this section assume a server that uses 2K logical pages.

To determine which vstart values represent allocations on the master device, look at the sysdevices table. It shows the low and high values for each device. Databases devices always have a cntrltype of 0; the following example does not include the rows for tape devices.

Figure 29-1: Determining allocations on the master device

In this example, page numbers on the master device are between 0 and 8703, so any database allocation with sysusages.vstart values in this range represent allocations on the master device.

Check all rows for master (except the first) in your saved sysusages output. Here is sample sysusages information, ordered by vstart:

Figure 29-2: Sample output from sysusages

In this example, the first four rows have vstart values between 4 and 3588. Only dbid 4 is on another device.

dataserver re-creates the first three rows, so sysusages in your newly rebuilt master database should match your hard copy.

The fourth row shows an additional allocation for master with vstart = 3588 and size = 1024.

Figure 29-3 shows the storage allocations for the above sysusages data.

Figure 29-3: Allocations on a master device

In Figure 29-3, you need only to issue an alter database command to increase the size of the master database. To determine the size to provide for this command, look at the size column for the second allocation to master. Divide by 512. In this example, the additional row for master indicates an allocation of 1024 data pages, so the correct parameter is 2, the result of 1024/512.

Use that result for the alter database command. Log in to the server as “sa.” Remember that dataserver has set the password for this account to NULL. Issue the alter database command. For the example above, use:

alter database master on master = "2M"

Check the size and vstart values for the new row in sysusages.