Ottenere informazioni su una vista

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di strumenti analitici (PDW)

È possibile visualizzare la definizione o le proprietà di una tabella in SQL Server usando SQL Server Management Studio o Transact-SQL. Potrebbe essere necessario visualizzare la definizione della vista per determinare come vengono derivati i dati dalle tabelle di origine o per visualizzare i dati definiti dalla vista.

Importante

Se si cambia il nome di un oggetto a cui viene fatto riferimento da una vista, è necessario modificare la vista in modo che per il relativo testo venga fatto riferimento al nuovo nome. Prima di rinominare un oggetto, visualizzare innanzitutto le relative dipendenze per determinare se la modifica proposta interessa le viste.

Contenuto dell'articolo

Prima di iniziare

Sicurezza

Autorizzazioni

L'utilizzo di sp_helptext per restituire la definizione di una vista richiede l'appartenenza al ruolo pubblico . L'utilizzo di sys.sql_expression_dependencies per individuare tutte le dipendenze in una vista richiede l'autorizzazione VIEW DEFINITION sul database e l'autorizzazione SELECT su sys.sql_expression_dependencies per il database. Le definizioni dell'oggetto di sistema, come quelle restituite in SELECT OBJECT_DEFINITION sono visibili pubblicamente.

Utilizzo di SQL Server Management Studio

Acquisire le proprietà di visualizzazione tramite Esplora oggetti

  1. In Esplora oggetti, fare clic sul segno più accanto al database contenente la vista in cui si desidera visualizzare le proprietà, quindi fare di nuovo clic sul segno più per espandere la cartella Viste.

  2. Fare clic con il pulsante destro del mouse sulla vista di cui si vogliono visualizzare le proprietà e scegliere Proprietà.

    Le seguenti proprietà vengono visualizzate nella finestra di dialogo Proprietà vista .

    Database
    Nome del database contenente la vista.

    Server
    Nome dell'istanza del server corrente.

    Utente
    Nome dell'utente della connessione.

    Data creazione
    Indica la data di creazione della vista.

    Nome
    Nome della vista corrente.

    Schema
    Consente di visualizzare lo schema proprietario della vista.

    Oggetto di sistema
    Indica se la vista è un oggetto di sistema. I valori sono True e False.

    ANSI NULLs
    Indica se l'oggetto è stato creato con l'opzione ANSI NULLs.

    Crittografata
    Indica se la vista è crittografata. I valori sono True e False.

    Identificatore delimitato
    Indica se l'oggetto è stato creato con l'opzione quoted identifier.

    Associata a schema
    Indica se la vista è associata a uno schema. I valori sono True e False. Per informazioni sulle viste associate a schemi, vedere la sezione SCHEMABINDING di CREATE VIEW (Transact-SQL).

Acquisizione di proprietà delle viste tramite lo strumento Progettazione viste

  1. In Esplora oggettiespandere il database contenente la vista in cui si desidera visualizzare le proprietà, quindi espandere la cartella Viste .

  2. Fare clic con il pulsante destro del mouse sulla vista di cui si vogliono visualizzare le proprietà e scegliere Progettazione.

  3. Fare clic con il pulsante destro del mouse sullo spazio vuoto del riquadro Diagramma, quindi scegliere Proprietà.

    Le seguenti proprietà vengono visualizzate nel riquadro Proprietà .

    (Nome)
    Nome della vista corrente.

    Nome database
    Nome del database contenente la vista.

    Descrizione
    Breve descrizione della vista corrente.

    Schema
    Consente di visualizzare lo schema proprietario della vista.

    Nome server
    Nome dell'istanza del server corrente.

    Associa a schema
    Con questa proprietà gli utenti non possono modificare in alcun modo gli oggetti sottostanti che contribuiscono a questa vista per evitare di invalidare la relativa definizione.

    Deterministico
    Indica se il tipo di dati della colonna selezionata può essere determinato con certezza

    Valori Distinct
    Viene specificato che tramite la query verranno esclusi i duplicati nella vista. Questa opzione risulta utile quando si utilizzano solo alcune colonne di una tabella e in queste colonne potrebbero essere contenuti valori duplicati. L'opzione è inoltre utile quando dalla creazione di un join di due o più tabelle vengono generate righe duplicate nel set di risultati. Selezionare questa opzione equivale a inserire la parola chiave DISTINCT nell'istruzione del riquadro SQL.

    Estensione GROUP BY
    Viene specificato che sono disponibili opzioni aggiuntive per le viste basate su query di aggregazione.

    Tutte le colonne
    Viene mostrato se tutte le colonne vengono restituite dalla vista selezionata. Questa proprietà viene impostata durante la creazione della vista.

    Commento SQL
    Visualizza una descrizione delle istruzioni SQL. Per visualizzare la descrizione completa o modificarla, fare clic su di essa e quindi sui puntini di sospensione (...) a destra della proprietà. Nei commenti è possibile specificare, ad esempio, quali utenti utilizzano la vista e quando.

    Specifica TOP
    Si espande per visualizzare le proprietà Top, Espressione, Percentualee With Ties

    (In alto)
    Specifica che la vista includerà una clausola TOP che restituirà soltanto le prime n righe o il primo n% delle righe del set di risultati. Per impostazione predefinita, nella vista vengono restituite le prime 10 righe del set di risultati. Utilizzare questa proprietà per modificare il numero di righe restituito o specificare una percentuale diversa

    Expression
    Visualizza la percentuale (se l'opzione Percentuale è impostata su ) o i record (se l'opzione Percentuale è impostata su No) restituiti dalla vista.

    Percentuale
    Specifica che la query includerà una clausola TOP che restituirà soltanto il primo n percento di righe del set di risultati

    Con valori equivalenti
    Specifica che la vista includerà una clausola WITH TIES . WITH TIES è utile se nella vista sono incluse anche una clausola ORDER BY e una TOP basate sulla percentuale. Se questa opzione è impostata e la percentuale limite specificata rientra in un set di righe con valori identici nella clausola ORDER BY , la vista verrà estesa fino a includere tutte queste righe.

    Specifica aggiornamento
    Si espande per visualizzare le proprietà Aggiorna in base alle regole della vista e Opzione Check .

    (Aggiorna in base alle regole della vista)
    Viene indicato che tutti gli aggiornamenti e gli inserimenti nella vista saranno convertiti da Microsoft Data Access Components (MDAC) in istruzioni SQL che fanno riferimento alla vista piuttosto che alle tabelle di base della vista.

    In alcuni casi, in MDAC le operazioni di aggiornamento e inserimento nella vista vengono presentate come aggiornamenti e inserimenti nelle tabelle di base sottostanti della vista. Selezionando Aggiorna in base alle regole della vistaè possibile assicurarsi che tramite MDAC le operazioni di aggiornamento e inserimento vengano generate nella vista stessa.

    Opzione Check
    Indica che quando si apre questa vista e si modifica il riquadro Risultati l'origine dati verifica se i dati aggiunti o modificati soddisfano la clausola WHERE della definizione della vista. Se la modifica non soddisfa la clausola WHERE, verrà visualizzato un errore con ulteriori informazioni.

Per acquisire dipendenze dalla vista

  1. In Esplora oggettiespandere il database contenente la vista in cui si desidera visualizzare le proprietà, quindi espandere la cartella Viste .

  2. Fare clic con il pulsante destro del mouse sulla vista di cui si vogliono visualizzare le proprietà e selezionare Visualizza dipendenze.

  3. Selezionare Oggetti che dipendono da [nome vista] per visualizzare gli oggetti che fanno riferimento alla vista.

  4. Selezionare Oggetti da cui dipende [nome vista] per visualizzare gli oggetti a cui viene fatto riferimento dalla vista.

Utilizzo di Transact-SQL

Per acquisire la definizione e le proprietà di una vista

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard selezionare Nuova query.

  3. Copiare e incollare gli esempi seguenti nella finestra della query e selezionare Esegui.

    USE AdventureWorks2022;  
    GO  
    SELECT definition, uses_ansi_nulls, uses_quoted_identifier, is_schema_bound  
    FROM sys.sql_modules  
    WHERE object_id = OBJECT_ID('HumanResources.vEmployee');   
    GO  
    
    USE AdventureWorks2022;   
    GO  
    SELECT OBJECT_DEFINITION (OBJECT_ID('HumanResources.vEmployee')) AS ObjectDefinition;   
    GO  
    
    EXEC sp_helptext 'HumanResources.vEmployee';  
    

Per altre informazioni, vedere sys.sql_modules (Transact-SQL), OBJECT_DEFINITION (Transact-SQL) e sp_helptext (Transact-SQL).

Nota

La stored procedure di sistema sp_helptext non è supportata in Azure Synapse Analytics. Usare invece la vista del catalogo dell'oggetto sys.sql_modules.

Per acquisire le dipendenze di una vista

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui.

    USE AdventureWorks2022;  
    GO  
    SELECT OBJECT_NAME(referencing_id) AS referencing_entity_name,   
        o.type_desc AS referencing_desciption,   
        COALESCE(COL_NAME(referencing_id, referencing_minor_id), '(n/a)') AS referencing_minor_id,   
        referencing_class_desc, referenced_class_desc,  
        referenced_server_name, referenced_database_name, referenced_schema_name,  
        referenced_entity_name,   
        COALESCE(COL_NAME(referenced_id, referenced_minor_id), '(n/a)') AS referenced_column_name,  
        is_caller_dependent, is_ambiguous  
    FROM sys.sql_expression_dependencies AS sed  
    INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id  
    WHERE referencing_id = OBJECT_ID(N'Production.vProductAndDescription');  
    GO  
    

Per altre informazioni, vedere sys.sql_expression_dependencies (Transact-SQL) e sys.objects (Transact-SQL).