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
Base de Dados SQL do Azure
Azure SQL Managed Instance
Endpoint de análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de dados SQL no Microsoft Fabric
O sys.sp_refreshview procedimento armazenado do sistema atualiza os metadados para a vista não ligada 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
sys.sp_refreshview [ @viewname = ] N'viewname'
[ ; ]
Argumentos
[ @viewname = ] N'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 não criares uma vista com SCHEMABINDING, executa sp_refreshview quando fizeres alterações aos objetos subjacentes à vista que afetam a definição da vista. Caso contrário, a vista pode devolver 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 utilizam a AdventureWorks2025, AdventureWorksDW2025, ou AdventureWorksLT2025 base de dados de exemplos, que pode descarregar do repositório GitHub do Azure Data SQL Samples Repository.
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
Assuma que a tabela Person.Person foi alterada de uma forma que afeta a definição de quaisquer opiniões sobre ela. O exemplo seguinte cria um script que atualiza os metadados de todas as vistas que dependem 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');