Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
database SQL di Azure
Istanza gestita di SQL di Azure
Endpoint di analisi SQL in Microsoft Fabric
Warehouse in Microsoft Fabric
Database SQL in Microsoft Fabric
La sys.sp_refreshview stored procedure di sistema aggiorna i metadati per la vista specificata non legata allo schema. I metadati persistenti di una vista possono diventare obsoleti in seguito alla modifica degli oggetti sottostanti su cui è basata la vista.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sys.sp_refreshview [ @viewname = ] N'viewname'
[ ; ]
Argomenti
[ @viewname = ] N'nome visualizzato'
Il nome della visualizzazionre. @viewname è nvarchar, senza impostazione predefinita. @viewname può essere un identificatore multipart, ma può fare riferimento solo alle viste nel database corrente.
Valori del codice restituito
0 (esito positivo) o un numero diverso da zero (errore).
Osservazioni:
Se non crei una vista con SCHEMABINDING, esegui sp_refreshview quando apporti modifiche agli oggetti sottostanti alla vista che influenzano la definizione della vista. Altrimenti, la vista potrebbe restituire risultati inaspettati quando la interroghi.
Autorizzazioni
Richiede ALTER permesso sulla view, e REFERENCES permesso per i tipi definiti dall'utente e le collezioni di schema XML a riferimento per le colonne della vista in tempo di esecuzione (common language runtime) (CLR).
Esempi
Gli esempi di codice in questo articolo utilizzano il AdventureWorks2025, AdventureWorksDW2025, o AdventureWorksLT2025 database di esempi, che puoi scaricare dal repository GitHub Azure Data SQL Samples Repository.
R. Aggiornare i metadati di una visualizzazione
Nell'esempio seguente vengono aggiornati i metadati della vista Sales.vIndividualCustomer.
USE AdventureWorks2025;
GO
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';
B. Creare uno script che aggiorna tutte le visualizzazioni con dipendenze da un oggetto modificato
Supponiamo che la tabella Person.Person sia stata modificata in modo da influenzare la definizione di qualsiasi opinione su di essa. Il seguente esempio crea uno script che aggiorna i metadati di tutte le viste che dipendono dalla tabella 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');