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
Atualiza os metadados para a exibição não vinculada ao esquema especificada. Os metadados persistentes de uma exibição podem ficar desatualizados devido a alterações nos objetos subjacentes dos quais a exibição depende.
Transact-SQL convenções de sintaxe
Sintaxe
sp_refreshview [ @viewname = ] 'viewname'
[ ; ]
Argumentos
@viewname [ = ] 'viewname'
O nome do modo de 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 de código de retorno
0 (sucesso) ou um número diferente de zero (falha).
Observações
Se uma vista não for criada com SCHEMABINDING, sp_refreshview deve ser executado quando forem feitas alterações aos objetos subjacentes à vista, o que afeta a definição da vista. Caso contrário, a visualização pode produzir resultados inesperados quando a consultas.
Permissões
Requer ALTER permissão para a vista e REFERENCES permissão para tipos definidos pelo utilizador em tempo de execução de linguagem comum (CLR) e coleções de esquemas XML referenciadas pelas colunas da vista.
Exemplos
Os exemplos de código neste artigo usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que pode ser descarregado da página inicial de Exemplos e Projetos da Comunidade do Microsoft SQL Server.
Um. Atualizar os metadados de uma vista
O exemplo a seguir atualiza os metadados do modo de exibição Sales.vIndividualCustomer.
USE AdventureWorks2025;
GO
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';
B. Criar um script que atualiza todos os modos de exibição que têm dependências em um objeto alterado
Suponha que a tabela Person.Person foi alterada de uma forma que afetaria a definição de quaisquer modos de exibição criados nela. O exemplo a seguir cria um script que atualiza os metadados para todos os modos de exibição que têm uma 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');