DBCC UPDATEUSAGE (Transact-SQL)DBCC UPDATEUSAGE (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Informa sobre imprecisiones de recuento de filas y páginas de las vistas de catálogo y las corrige.Reports and corrects pages and row count inaccuracies in the catalog views. Estas imprecisiones pueden causar la devolución de informes incorrectos sobre uso de espacio por parte del procedimiento almacenado del sistema sp_spaceused.These inaccuracies may cause incorrect space usage reports returned by the sp_spaceused system stored procedure.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

DBCC UPDATEUSAGE   
(   { database_name | database_id | 0 }   
    [ , { table_name | table_id | view_name | view_id }   
    [ , { index_name | index_id } ] ]   
) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ] ]   

ArgumentosArguments

database_name | database_id | 0database_name | database_id | 0
Es el nombre o el identificador de la base de datos sobre cuyas estadísticas de uso de espacio se va a informar y las cuales se van a corregir.Is the name or ID of the database for which to report and correct space usage statistics. Si se especifica 0, se utiliza la base de datos actual.If 0 is specified, the current database is used. Los nombres de las bases de datos deben cumplir las reglas de los identificadores.Database names must comply with the rules for identifiers.

table_name | table_id | view_name | view_idtable_name | table_id | view_name | view_id
Es el nombre o el identificador de la tabla o la vista indizada sobre cuyas estadísticas de uso de espacio se va a informar y las que se van a corregir.Is the name or ID of the table or indexed view for which to report and correct space usage statistics. Los nombres de las tablas y las vistas deben ajustarse a las reglas de los identificadores.Table and view names must comply with the rules for identifiers.

index_id | index_nameindex_id | index_name
Es el identificador o el nombre del índice que se va a utilizar.Is the ID or name of the index to use. Si no se especifica, la instrucción procesa todos los índices de la tabla o la vista especificada.If not specified, the statement processes all indexes for the specified table or view.

porWITH
Permite la especificación de opciones.Allows options to be specified.

NO_INFOMSGSNO_INFOMSGS
Suprime todos los mensajes de información.Suppresses all informational messages.

COUNT_ROWSCOUNT_ROWS
Especifica que la columna row count se actualiza con el recuento actual del número de filas de la tabla o la vista.Specifies that the row count column is updated with the current count of the number of rows in the table or view.

NotasRemarks

Si una tabla o un índice tienen particiones, DBCC UPDATEUSAGE corrige los recuentos de las filas, las páginas utilizadas, las páginas reservadas, las páginas hoja y las páginas de datos.DBCC UPDATEUSAGE corrects the rows, used pages, reserved pages, leaf pages and data page counts for each partition in a table or index. Si no hay imprecisiones en las tablas del sistema, DBCC UPDATEUSAGE no devuelve datos.If there are no inaccuracies in the system tables, DBCC UPDATEUSAGE returns no data. Si se encuentran y se corrigen imprecisiones y no se utiliza WITH NO_INFOMSGS, DBCC UPDATEUSAGE devuelve las filas y las columnas que se están actualizando en las tablas del sistema.If inaccuracies are found and corrected and WITH NO_INFOMSGS is not used, DBCC UPDATEUSAGE returns the rows and columns being updated in the system tables.

DBCC CHECKDB se ha mejorado para detectar si los recuentos de páginas o filas devuelven valores negativos.DBCC CHECKDB has been enhanced to detect when page or row counts become negative. En caso de que se detecte un recuento negativo, la salida de DBCC CHECKDB contiene una advertencia y una recomendación para que se ejecute DBCC UPDATEUSAGE con el fin de solucionar el problema.When detected, the DBCC CHECKDB output contains a warning and a recommendation to run DBCC UPDATEUSAGE to address the issue.

Procedimientos recomendadosBest Practices

Se recomienda lo siguiente:We recommend the following:

  • No ejecute DBCC UPDATEUSAGE de forma rutinaria.Do not run DBCC UPDATEUSAGE routinely. Dado que DBCC UPDATEUSAGE puede tardar algún tiempo en ejecutarse con tablas o bases de datos grandes, no se debería utilizar a menos que sospeche que sp_spaceused está devolviendo valores incorrectos.Because DBCC UPDATEUSAGE can take some time to run on large tables or databases, it should not be used only unless you suspect incorrect values are being returned by sp_spaceused.
  • Considere ejecutar DBCC UPDATEUSAGE habitualmente, por ejemplo cada semana, solo si la base de datos sufre con frecuencia modificaciones del Lenguaje de definición de datos (DDL), por ejemplo, con las instrucciones CREATE, ALTER o DROP.Consider running DBCC UPDATEUSAGE routinely (for example, weekly) only if the database undergoes frequent Data Definition Language (DDL) modifications, such as CREATE, ALTER, or DROP statements.

Conjuntos de resultadosResult Sets

DBCC UPDATEUSAGE devuelve (los valores pueden variar):DBCC UPDATEUSAGE returns (values may vary):

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

PermisosPermissions

Debe pertenecer al rol fijo de servidor sysadmin o al rol fijo de base de datos db_owner .Requires membership in the sysadmin fixed server role or the db_owner fixed database role.

EjemplosExamples

A.A. Actualizar recuentos de páginas o filas, o ambos, para todos los objetos de la base de datos actualUpdating page or row counts or both for all objects in the current database

En el siguiente ejemplo se especifica 0 como nombre de la base de datos y DBCC UPDATEUSAGE devuelve información actualizada del recuento de filas o páginas de la base de datos actual.The following example specifies 0 for the database name and DBCC UPDATEUSAGE reports updated page or row count information for the current database.

DBCC UPDATEUSAGE (0);  
GO  

B.B. Actualizar recuentos de páginas o filas, o ambos, para AdventureWorks y suprimir los mensajes informativosUpdating page or row counts or both for AdventureWorks, and suppressing informational messages

En el siguiente ejemplo se especifica AdventureWorks2012AdventureWorks2012 como nombre de la base de datos y se suprimen todos los mensajes informativos.The following example specifies AdventureWorks2012AdventureWorks2012 as the database name and suppresses all informational messages.

DBCC UPDATEUSAGE (AdventureWorks2012) WITH NO_INFOMSGS;   
GO  

C.C. Actualizar recuentos de páginas o filas, o ambos, para la tabla EmployeeUpdating page or row counts or both for the Employee table

En el siguiente ejemplo se devuelve información actualizada del recuento de filas o páginas de la tabla Employee de la base de datos AdventureWorks2012AdventureWorks2012.The following example reports updated page or row count information for the Employee table in the AdventureWorks2012AdventureWorks2012 database.

DBCC UPDATEUSAGE (AdventureWorks2012,'HumanResources.Employee');  
GO  

D.D. Actualizar recuentos de página o fila, o ambos, para un índice específico de una tablaUpdating page or row counts or both for a specific index in a table

En el siguiente ejemplo se especifica IX_Employee_ManagerID como nombre de índice.The following example specifies IX_Employee_ManagerID as the index name.

DBCC UPDATEUSAGE (AdventureWorks2012, 'HumanResources.Employee', IX_Employee_OrganizationLevel_OrganizationNode);  
GO  

Consulte tambiénSee Also

DBCC (Transact-SQL)DBCC (Transact-SQL)
sp_spaceused (Transact-SQL)sp_spaceused (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)UPDATE STATISTICS (Transact-SQL)