Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Relata e corrige imprecisões de páginas e contagem de linhas nas exibições de catálogo. Essas imprecisões podem causar relatórios de uso de espaço incorretos retornados pelo procedimento armazenado do sistema sp_spaceused.
Transact-SQL convenções de sintaxe
Sintaxe
DBCC UPDATEUSAGE
( { database_name | database_id | 0 }
[ , { table_name | table_id | view_name | view_id }
[ , { index_name | index_id } ] ]
) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ] ]
Argumentos
| database_namedatabase_id | 0
O nome ou ID do banco de dados para o qual relatar e corrigir estatísticas de uso de espaço. Se 0 for especificado, o banco de dados atual será usado. Os nomes das bases de dados devem estar em conformidade com as regras relativas aos identificadores de .
table_name | table_id | view_name | view_id
O nome ou ID da tabela ou exibição indexada para a qual relatar e corrigir estatísticas de uso de espaço. Os nomes de tabelas e exibições devem estar em conformidade com as regras para identificadores.
index_id | index_name
O ID ou nome do índice a ser usado. Se não for especificada, a instrução processa todos os índices para a tabela ou exibição especificada.
COM
Permite que as opções sejam especificadas.
NO_INFOMSGS
Suprime todas as mensagens informativas.
COUNT_ROWS
Especifica que a coluna de contagem de linhas é atualizada com a contagem atual do número de linhas na tabela ou exibição.
Comentários
DBCC UPDATEUSAGE corrige as linhas, páginas usadas, páginas reservadas, páginas folha e contagens de páginas de dados para cada partição em uma tabela ou índice. Se não houver imprecisões nas tabelas do sistema, DBCC UPDATEUSAGE não retornará dados. Se forem encontradas e corrigidas imprecisões e WITH NO_INFOMSGS não for utilizado, DBCC UPDATEUSAGE devolve as linhas e colunas que estão a ser atualizadas nas tabelas do sistema.
DBCC CHECKDB foi aprimorado para detetar quando as contagens de páginas ou linhas se tornam negativas. Quando detetada, a saída DBCC CHECKDB contém um aviso e uma recomendação para executar DBCC UPDATEUSAGE para resolver o problema.
Melhores práticas
Recomendamos o seguinte:
- Não execute
DBCC UPDATEUSAGErotineiramente, pois o SQL Server mantém os metadados na maioria das circunstâncias.DBCC UPDATEUSAGEdeve ser executado conforme necessário, por exemplo, quando você suspeita que valores incorretos estão sendo retornados porsp_spaceused.DBCC UPDATEUSAGEpode levar algum tempo para ser executada em grandes tabelas ou bancos de dados. - Considere executar
DBCC UPDATEUSAGErotineiramente (por exemplo, semanalmente) somente se o banco de dados sofrer modificações frequentes na DDL (Data Definition Language), como instruções CREATE, ALTER ou DROP.
Conjuntos de resultados
DBCC UPDATEUSAGE devoluções (os valores podem variar):
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Permissões
Requer associação à função de servidor fixa sysadmin ou à função de banco de dados fixa db_owner.
Exemplos
Um. Atualizar contagens de páginas ou linhas, ou ambas, para todos os objetos no banco de dados atual
O exemplo a seguir especifica 0 para o nome do banco de dados e relatórios DBCC UPDATEUSAGE página atualizada ou informações de contagem de linhas para o banco de dados atual.
DBCC UPDATEUSAGE (0);
GO
B. Atualizar contagens de páginas ou linhas, ou ambas, para o AdventureWorks e suprimir mensagens informativas
O exemplo a seguir especifica AdventureWorks2025 como o nome do banco de dados e suprime todas as mensagens informativas.
DBCC UPDATEUSAGE (AdventureWorks2022) WITH NO_INFOMSGS;
GO
C. Atualizar contagens de páginas ou linhas, ou ambas, para a tabela Funcionário
O exemplo a seguir relata informações atualizadas de contagem de páginas ou linhas para a tabela Employee no banco de dados AdventureWorks2025.
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee');
GO
D. Atualizar contagens de páginas ou linhas, ou ambas, para um índice específico em uma tabela
O exemplo a seguir especifica IX_Employee_ManagerID como o nome do índice.
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee', IX_Employee_OrganizationLevel_OrganizationNode);
GO