Compartilhar via


sp_updatestats (Transact-SQL)

Executa UPDATE STATISTICS em todas as tabelas internas e definidas pelo usuário no banco de dados atual.

Para obter mais informações sobre a instrução UPDATE STATISTICS, consulte UPDATE STATISTICS (Transact-SQL). Para obter mais informações sobre estatísticas, consulte Estatísticas.

Aplica-se a: SQL Server (SQL Server 2008 até a versão atual), Banco de dados SQL do Windows Azure (versão inicial até a versão atual).

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

sp_updatestats [ [ @resample = ] 'resample']

Valores de código de retorno

0 (êxito) ou 1 (falha)

Argumentos

  • [ @resample =] 'resample'
    Especifica que sp_updatestats usará a opção RESAMPLE da instrução UPDATE STATISTICS. Se 'resample' não for especificado, sp_updatestats atualizará as estatísticas usando a amostragem padrão. resample é varchar(8) com um valor padrão NO.

Comentários

O sp_updatestats executa UPDATE STATISTICS, especificando a palavra-chave ALL, em todas as tabelas internas e definidas pelo usuário no banco de dados. sp_updatestats exibe mensagens que indicam seu progresso. Quando a atualização é concluída, ela informa que as estatísticas foram atualizadas em todas as tabelas.

sp_updatestats atualiza estatísticas em índices não clusterizados desabilitados e não atualiza estatísticas em índices clusterizados desabilitados.

Para tabelas baseadas em disco, sp_updatestats atualiza somente as estatísticas que exigem atualização com base nas informações de rowmodctr na exibição de catálogo sys.sysindexes, evitando assim atualizações desnecessárias de estatísticas nas linhas não alteradas. As estatísticas sobre tabelas otimizadas em memória são sempre atualizadas durante a execução de sp_updatestats. Portanto, não execute sp_updatestats mais do que o necessário.

sp_updatestats pode disparar uma recompilação de procedimentos armazenados ou outro código compilado. No entanto, sp_updatestats talvez não provoque uma recompilação, se apenas um plano de consulta for possível para as tabelas referenciadas e os índices dessas tabelas. Uma recompilação será desnecessária nesses casos mesmo que as estatísticas sejam atualizadas.

Para bancos de dados com um nível de compatibilidade inferior a 90, a execução de sp_updatestats não preserva a configuração mais recente de NORECOMPUTE para estatísticas específicas. Para bancos de dados com um nível de compatibilidade igual ou superior a 90, sp_updatestats preserva a opção NORECOMPUTE mais recente de estatísticas específicas. Para obter mais informações sobre como desabilitar e reabilitar atualizações de estatísticas, consulte Estatísticas.

Permissões

Requer associação à função de servidor fixa sysadmin ou propriedade do banco de dados (dbo).

Exemplos

O exemplo a seguir atualiza as estatísticas de tabelas no banco de dados AdventureWorks2012 .

USE AdventureWorks2012;
GO
EXEC sp_updatestats; 

Consulte também

Referência

Opções ALTER DATABASE SET (Transact-SQL)

CREATE STATISTICS (Transact-SQL)

DBCC SHOW_STATISTICS (Transact-SQL)

DROP STATISTICS (Transact-SQL)

sp_autostats (Transact-SQL)

sp_createstats (Transact-SQL)

UPDATE STATISTICS (Transact-SQL)

Procedimentos armazenados do sistema