Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do
AzureInstância
Gerenciada de SQL do AzureBanco de dados SQL no Microsoft Fabric
Atualiza os metadados para a exibição não associada a esquema. Os metadados persistentes de uma exibição podem tornar-se desatualizados devido a alterações em objetos subjacentes dos quais a exibição depende.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_refreshview [ @viewname = ] 'viewname'
[ ; ]
Argumentos
@viewname [ = ] 'nome da vista'
O nome da exibição. @viewname é nvarchar, sem padrão. @viewname pode ser um identificador de várias partes, mas só pode se referir a exibições no banco de dados atual.
Valores do código de retorno
0 (êxito) ou um número diferente de zero (falha)
Comentários
Se uma visualização não for criada com SCHEMABINDING, sp_refreshview deve ser executada quando alterações forem feitas nos objetos subjacentes à visualização, o que afeta a definição da visualização. Caso contrário, a visualização pode produzir resultados inesperados quando você a consulta.
Permissões
Requer ALTER permissão para a visualização, e REFERENCES permissão para tipos definidos pelo usuário e coleções de esquemas XML em tempo de execução de linguagem comum (CLR) que as colunas da visualização referenciam.
Exemplos
Os exemplos de código neste artigo usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que você pode baixar na página inicial Microsoft SQL Server Samples and Community Projects.
R. Atualizar os metadados de uma exibição
O exemplo a seguir atualiza os metadados da exibição Sales.vIndividualCustomer.
USE AdventureWorks2025;
GO
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';
B. Criar um script que atualiza todas as exibições que têm dependências em um objeto alterado
Considera que a tabela Person.Person foi alterada de certo modo que afeta a definição de qualquer exibição criada a partir dela. O exemplo a seguir cria um script que atualiza os metadados de todas as exibições com dependência da tabela Person.Person.
USE AdventureWorks2025;
GO
SELECT DISTINCT 'EXECUTE sp_refreshview ''' + name + ''''
FROM sys.objects AS so
INNER JOIN sys.sql_expression_dependencies AS sed
ON so.object_id = sed.referencing_id
WHERE so.type = 'V'
AND sed.referenced_id = OBJECT_ID('Person.Person');