You are the administrator of a SQL Server 2000 computer. The server contains a database that stores inventory data. Another data

admin2009-05-19  29

问题 You are the administrator of a SQL Server 2000 computer. The server contains a database that stores inventory data. Another database administrator has created a number of scheduled jobs to maintain the inventory database. Each weeknight the following jobs occur.
-- A BULK INSERT job imports data at 10:00 P.M.
-- Indexes are rebuilt at 10:15 P.M.
-- Data integrity checks are performed at 10:30 P.M.
-- A differential backup is performed at 10:45 P.M.
-- A DBCC SHRINKDATABASE job runs at 11:00 P.M.

You notice that the final job often fails and returns the following error message: "Server Msg 3140, Level 16, State 3. Could not adjust the space allocation for file ’inventory_data’."

You need to ensure that the final job runs without errors. What should you do?

选项 A、Create a new DBCC SHRINKFILE job to shrink the inventory_data file. Schedule the new job to run at the same time as the DBCC SHRINKDATABASE job.
B、Modify the DBCC SHRINKDATABASE job so that it uses DBCC SHRINKFILE statement to shrink each file individually.
C、Increase the time between the data integrity checks and the differential backup.
D、Increase the time between the differential backup and the DBCC SHRINKDATABASE job.

答案D

解析 Explanation: The DBCC SHRINKDATABSE cannot be executed until the previous job step, the differential backup, has been completed. We should increase the time between these two job steps, or even better configure the last job step to run only after the differential backup has been completed.

Note: The DBCC SHRINKDATABASE statement shrinks data files on a per-file basis but shrinks log files as if all the log files existed in one contiguous log pool. The target size for the data and log files cannot be smaller than the minimum size of a file that was specified when the file was originally created, or the last explicit size set with a file size changing operation such as the ALTER DATABASE statement with the MODIFY FILE option or the DBCC SHRINKFILE statement.

Incorrect Answers:
A: The DBCC SHRINKDATABASE command shrinks the whole database. Shrinking a single data file would not be the optimal solution to shrink the database.

Note: The DBCC SHRINKFILE statement shrinks the size of the specified data or log file in the related database and is used to reduce the size of a file to smaller than its originally created size. The minimum file size for the file is then reset to the newly specified size.

By using the EMPTYFILE argument in conjunction with the DBCC SHRINKFILE statement before executing the ALTER DATABASE statements, we can remove the data in a file. Other users can be working in the database when the file is shrunk, thus the database being shrunk does not have to be in single-user mode when using the DBCC SHRINKFILE statement.

The DBCC SHRINKDATABASE statement shrinks data files on a per-file basis but shrinks log files as if all the log files existed in one contiguous log pool. The target size for the data and log files cannot be smaller than the minimum size of a file that was specified when the file was originally created, or the last explicit size set with a file size changing operation such as the ALTER DATABASE statement with the MODIFY FILE option or the DBCC SHRINKFILE statement. These two functions thus adjust the space allocation on a per-file basis and cannot run at the same time.

B: The DBCC SHRINKDATABASE statement shrinks data files on a per-file basis already. There is no need to use the DBCC SHRINKFILE statement to shrink each file individually.

Note: The DBCC SHRINKDATABASE statement shrinks log files as if all the log files existed in one contiguous log pool. The target size for the data and log files cannot be smaller than the minimum size of a file that was specified when the file was originally created, or the last explicit size set with a file size changing operation such as the ALTER DATABASE statement with the MODIFY FILE option or the DBCC SHRINKFILE statement.

C: Database integrity checks such as the DBCC CHECHDB statement should be run before any major system changes, such as a hardware or software upgrade, or after a hardware failure, or if a system problem is suspected. It is not necessary to run database integrity checks as part of the normal backup or maintenance procedures.
转载请注明原文地址:https://jikaoti.com/ti/JwO7FFFM
0

最新回复(0)