- database_name | database_id | 0
- NOINDEX
-
指定不检查用户表的非聚集索引。
注意
维护 NOINDEX 只是为了实现向后兼容性,并不会影响 DBCC CHECKALLOC。
- REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD
- WITH
-
启用要指定的选项。
- ALL_ERRORMSGS
- NO_INFOMSGS
-
取消所有信息性消息和关于所用空间的报告。
- TABLOCK
- ESTIMATEONLY
-
显示当指定所有其他选项时运行 DBCC CHECKALLOC 所需的估计 tempdb 空间大小。
DBCC CHECKALLOC 将检查数据库中所有页的分配,而不管其所属的页类型或对象类型。它还可验证各种内部结构,这些结构可用于跟踪这些页以及它们之间的关系。
如果未指定 NO_INFOMSGS,则 DBCC CHECKALLOC 将收集有关数据库中所有对象的空间使用情况信息。然后将这一信息与找到的任何错误一起进行打印。
|
---|
DBCC CHECKALLOC 功能包含在 DBCC CHECKDB 和 DBCC CHECKFILEGROUP 中。这意味着您不必将 DBCC CHECKALLOC 与这些语句分开运行。 |
|
---|
DBCC CHECKALLOC 不会检查 FILESTREAM 数据。FILESTREAM 在文件系统中存储二进制大型对象 (BLOB)。 |
内部数据库快照
DBCC CHECKALLOC 可使用内部数据库快照来提供执行这些检查所需的事务的一致性。如果无法创建快照,或指定了 TABLOCK,则 DBCC CHECKALLOC 将尝试获取排他 (X) 数据库锁,以获取所需的一致性。有关锁的详细信息,请参阅锁模式。
了解 DBCC 错误消息
DBCC CHECKALLOC 命令完成后,会将一条消息写入 sql Server 错误日志。如果 DBCC 命令成功执行,则消息指示成功完成以及命令运行的时间。如果 DBCC 命令在完成检查之前由于错误而停止,则消息将指示命令已终止,并指示状态值和命令运行的时间。下表列出并说明了此消息中可包含的状态值。
错误报告
一旦 DBCC CHECKALLOC 检测到损坏错误,就将在 sql Server LOG 目录中创建微型转储文件 (sqlDUMPnnnn.txt)。如果为 sql Server 实例启用了“功能使用情况数据收集”和“错误报告”功能,该文件将被自动转发给 Microsoft。收集的数据将用于改进 sql Server 功能。
转储文件包含 DBCC CHECKALLOC 命令的结果以及其他诊断输出数据。该文件拥有任意访问控制列表 (DACL)。只有 sql Server 服务帐户和 sysadmin 角色的成员有权进行访问。默认情况下,sysadmin 角色包含 Windows BUILTIN\Administrators 组和本地管理员组的所有成员。如果数据收集进程失败,DBCC 命令不会失败。
纠正错误
下表说明了 DBCC CHECKALLOC 返回的信息。
项 |
说明 |
---|---|
FirstIAM |
仅供内部使用。 |
Root |
仅供内部使用。 |
Dpages |
数据页计数。 |
Pages used |
分配的页。 |
Dedicated extents |
分配给对象的区数。 如果使用混合分配页,则可能有未分配区数的页。 |
DBCC CHECKALLOC 还会报告每条索引和每个文件中分区的分配摘要。此摘要说明了数据的分布情况。
项 |
说明 |
---|---|
Reserved pages |
分配给索引的页和已分配区数中未使用的页。 |
Used pages |
分配给索引和索引正在使用的页。 |
Partition ID |
仅供内部使用。 |
Alloc unit ID |
仅供内部使用。 |
In-row data |
页包含索引或堆数据。 |
LOB data |
页包含 varchar(max)、nvarchar(max)、varbinary(max)、text、ntext、xml 和 image 数据。 |
Row-overflow data |
页包含已推送到行外的可变长度列数据。 |
DBCC CHECKALLOC 将返回以下结果集(值可能有所不同),指定了 ESTIMATEONLY 或 NO_INFOMSGS 时除外。
DBCC results for 'master'. *************************************************************** Table sysobjects Object ID 1. Index ID 1 FirstIAM (1:11) Root (1:12) Dpages 22. Index ID 1. 24 pages used in 5 dedicated extents. Index ID 2 FirstIAM (1:1368) Root (1:1362) Dpages 10. Index ID 2. 12 pages used in 2 dedicated extents. Index ID 3 FirstIAM (1:1392) Root (1:1408) Dpages 4. Index ID 3. 6 pages used in 0 dedicated extents. Total number of extents is 7. *************************************************************** '...' *************************************************************** Table spt_server_info Object ID 1938105945. Index ID 1 FirstIAM (1:520) Root (1:508) Dpages 1. Index ID 1. 3 pages used in 0 dedicated extents. Total number of extents is 0. *************************************************************** Processed 52 entries in sysindexes for database ID 1. File 1. Number of extents = 210,used pages = 1126,reserved pages = 1280. File 1 (number of mixed extents = 73,mixed pages = 184). Object ID 1,Index ID 0,data extents 5,pages 24,mixed extent pages 9. '...' Object ID 1938105945,data extents 0,pages 3,mixed extent pages 3. Total number of extents = 210,reserved pages = 1280 in this database. (number of mixed extents = 73,mixed pages = 184) in this database. CHECKALLOC found 0 allocation errors and 0 consistency errors in database 'master'. DBCC results for 'master'. *************************************************************** Table sys.sysrowsetcolumns Object ID 4. Index ID 1,partition ID 262144,alloc unit ID 262144 (type In-row data). FirstIAM (1:98). Root (1:94). Dpages 7. Index ID 1,alloc unit ID 262144 (type In-row data). 9 pages used in 1 dedicated extents. Index ID 1,alloc unit ID 262398 (type Row-overflow data). FirstIAM (0:0). Root (0:0). Dpages 0. Index ID 1,alloc unit ID 262398 (type Row-overflow data). 0 pages used in 0 dedicated extents. Total number of extents is 1. ... *************************************************************** Processed 201 entries in system catalog for database ID 1. File 1. Number of extents = 44,used pages = 300,reserved pages = 345. File 1 (number of mixed extents = 29,mixed pages = 225). Object ID 4,index ID 1,alloc unit ID 262144 (type In-row data),data extents 1,pages 9,mixed extent pages 8. Object ID 5,partition ID 327680,alloc unit ID 327680 (type In-row data),pages 2,mixed extent pages 2. Object ID 7,partition ID 458752,alloc unit ID 458752 (type In-row data),pages 5,mixed extent pages 5. Object ID 8,index ID 0,partition ID 524288,alloc unit ID 524288 (type In-row data),mixed extent pages 2. Object ID 13,partition ID 851968,alloc unit ID 851968 (type In-row data),mixed extent pages 8. Object ID 15,partition ID 983040,alloc unit ID 983040 (type In-row data),mixed extent pages 2. Object ID 26,partition ID 281474978414592,alloc unit ID 1703937 (type In-row data),mixed extent pages 3. Object ID 27,partition ID 281474978480128,alloc unit ID 1769473 (type In-row data),index ID 2,partition ID 562949955190784,alloc unit ID 1769474 (type In-row data),index extents 0,mixed extent pages 3. ... Object ID 1179151246,partition ID 72057594038845440,alloc unit ID 13435136 (type In-row data),data extents 2,pages 18,mixed extent pages 8. Object ID 1179151246,partition ID 72057594038910976,alloc unit ID 13566208 (type In-row data),index extents 1,pages 16,mixed extent pages 8. Object ID 1911677858,partition ID 72057594039631872,alloc unit ID 15073536 (type In-row data),mixed extent pages 2. Total number of extents = 41,used pages = 289,reserved pages = 323 in this database. (number of mixed extents = 27,mixed pages = 211) in this database. CHECKALLOC found 0 allocation errors and 0 consistency errors in database 'master'. DBCC execution completed. If DBCC printed error messages,contact your system administrator.
如果指定了 ESTIMATEONLY,则 DBCC CHECKALLOC 将返回以下结果集。
Estimated TEMPDB space needed for CHECKALLOC (KB) ------------------------------------------------- 34 (1 row(s) affected) DBCC execution completed. If DBCC printed error messages,contact your system administrator.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。