Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
SQL-Datenbank in Microsoft Fabric
Aktualisiert die Metadaten für die angegebene nicht schemagebundene Sicht. Persistente Metadaten für eine Sicht sind möglicherweise aufgrund von Änderungen an den zugrunde liegenden Objekten, von denen die Sicht abhängt, nicht mehr aktuell.
Transact-SQL-Syntaxkonventionen
Syntax
sp_refreshview [ @viewname = ] 'viewname'
[ ; ]
Argumente
[ @viewname = ] 'Ansichtsname'
Der Name der Ansicht. @viewname ist "nvarchar" ohne Standard. @viewname kann ein mehrteiliger Bezeichner sein, kann jedoch nur auf Ansichten in der aktuellen Datenbank verweisen.
Rückgabecodewerte
0 (Erfolg) oder eine Zahl ungleich null (Fehler).
Hinweise
Wenn eine Ansicht nicht mit SCHEMABINDINGerstellt wird, sp_refreshview sollte ausgeführt werden, wenn Änderungen an den Objekten vorgenommen werden, die der Ansicht zugrunde liegen, was die Definition der Ansicht beeinflusst. Andernfalls könnte die Ansicht unerwartete Ergebnisse liefern, wenn Sie sie abfragen.
Berechtigungen
Erfordert ALTER Berechtigungen für die Ansicht sowie REFERENCES für benutzerdefinierte Typen und XML-Schema-Sammlungen, auf die die Ansichtsspalten verweisen.
Beispiele
Die Codebeispiele in diesem Artikel verwenden die AdventureWorks2025- oder AdventureWorksDW2025 Beispieldatenbank, die Sie von der Microsoft SQL Server Samples and Community Projects Homepage herunterladen können.
Ein. Aktualisieren der Metadaten einer Ansicht
Im folgenden Beispiel werden die Metadaten für die Sicht Sales.vIndividualCustomer aktualisiert.
USE AdventureWorks2025;
GO
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';
B. Erstellen eines Skripts, das alle Ansichten aktualisiert, die Abhängigkeiten von einem geänderten Objekt aufweisen
Angenommen, die Person.Person-Tabelle wurde auf eine Weise geändert, die sich auf die Definition von Sichten auswirkt, die für die Tabelle erstellt wurden. Im folgenden Beispiel wird ein Skript erstellt, das die Metadaten aller Sichten aktualisiert, die eine Abhängigkeit von der Person.Person-Tabelle aufweisen.
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');