Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
De sys.sp_refreshview systeemopgeslagen procedure werkt de metadata bij voor de gespecificeerde niet-schema-gebonden weergave. Permanente metagegevens voor een weergave kunnen verouderd raken vanwege wijzigingen in de onderliggende objecten waarvan de weergave afhankelijk is.
Transact-SQL syntaxis-conventies
Syntaxis
sys.sp_refreshview [ @viewname = ] N'viewname'
[ ; ]
Argumenten
[ @viewname = ] N'viewname'
De naam van de weergave. @viewname is nvarchar, zonder standaardinstelling. @viewname kan een id met meerdere onderdelen zijn, maar kan alleen verwijzen naar weergaven in de huidige database.
Codewaarden retourneren
0 (geslaagd) of een niet-nulnummer (fout).
Opmerkingen
Als je geen view maakt met SCHEMABINDING, start sp_refreshview wanneer je wijzigingen aanbrengt aan de objecten die de view beïnvloeden en de definitie van de view beïnvloeden. Anders kan de weergave onverwachte resultaten geven wanneer je het opvraagt.
Machtigingen
Vereist ALTER toestemming voor de weergave, en REFERENCES toestemming voor common language runtime (CLR) gebruikersgedefinieerde types en XML-schemacollecties waar de kolommen naar verwijzen.
Voorbeelden
De codevoorbeelden in dit artikel gebruiken de AdventureWorks2025, AdventureWorksDW2025, of AdventureWorksLT2025 voorbeelddatabase, die je kunt downloaden van de Azure Data SQL Samples Repository GitHub-repository.
Eén. De metagegevens van een weergave bijwerken
In het volgende voorbeeld worden de metagegevens voor de weergave Sales.vIndividualCustomervernieuwd.
USE AdventureWorks2025;
GO
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';
B. Een script maken waarmee alle weergaven met afhankelijkheden van een gewijzigd object worden bijgewerkt
Stel dat de tabel Person.Person op een manier is veranderd die de definitie van eventuele views erop beïnvloedt. Het volgende voorbeeld maakt een script dat de metadata ververst voor alle views die afhankelijk zijn van de tabel 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');