Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia administrada de Azure SQL
Punto de conexión de análisis de SQL en Microsoft Fabric
Almacén de datos en Microsoft Fabric
Base de datos SQL en Microsoft Fabric
El sys.sp_refreshview procedimiento almacenado del sistema actualiza los metadatos para la vista especificada que no está ligada al esquema. Los metadatos persistentes de una vista pueden quedar desfasados debido a los cambios realizados en los objetos subyacentes de los que depende la vista.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sys.sp_refreshview [ @viewname = ] N'viewname'
[ ; ]
Argumentos
[ @viewname = ] N'viewname'
El nombre de la vista. @viewname es nvarchar, sin valor predeterminado. @viewname puede ser un identificador de varias partes, pero solo puede hacer referencia a las vistas de la base de datos actual.
Valores de código de retorno
0 (correcto) o un número distinto de cero (error).
Comentarios
Si no creas una vista con SCHEMABINDING, ejecuta sp_refreshview cuando hagas cambios en los objetos subyacentes a la vista que afectan a la definición de la vista. De lo contrario, la vista podría devolver resultados inesperados cuando la consultas.
Permisos
Requiere ALTER permiso en la vista y REFERENCES permiso en los tipos definidos por el usuario en tiempo de ejecución del lenguaje común (CLR) y en colecciones de esquemas XML que referencian las columnas de vista.
Ejemplos
Los ejemplos de código de este artículo utilizan la AdventureWorks2025base de datos de ejemplos, AdventureWorksDW2025AdventureWorksLT2025 , que puedes descargar desde el repositorio GitHub de Azure Data SQL Samples Repository.
A Actualización de los metadatos de una vista
En el siguiente ejemplo se actualizan los metadatos de la vista Sales.vIndividualCustomer.
USE AdventureWorks2025;
GO
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';
B. Cree un script que actualice todas las vistas que tienen dependencias en un objeto modificado.
Supongamos que la tabla Person.Person se ha cambiado de una manera que afecta la definición de cualquier opinión sobre ella. El siguiente ejemplo crea un script que actualiza los metadatos de todas las vistas que dependen de la tabla 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');