Ottenere informazioni su una vistaGet Information About a View

Tramite SQL Server 2017SQL Server 2017 o SQL Server Management StudioSQL Server Management Studio è possibile acquisire informazioni sulla definizione o sulle proprietà di una vista in Transact-SQLTransact-SQL.You can gain information about a view’s definition or properties in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-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.You may need to see the definition of the view to understand how its data is derived from the source tables or to see the data defined by the view.

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.If you change the name of an object referenced by a view, you must modify the view so that its text reflects the new name. Prima di rinominare un oggetto, visualizzare innanzitutto le relative dipendenze per determinare se la modifica proposta interessa le viste.Therefore, before renaming an object, display the dependencies of the object first to determine if any views are affected by the proposed change.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Sicurezza Security

Autorizzazioni Permissions

L'utilizzo di sp_helptext per restituire la definizione di una vista richiede l'appartenenza al ruolo pubblico .Using sp_helptext to return the definition of a view requires membership in the public role. 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.Using sys.sql_expression_dependencies to find all the dependencies on a view requires VIEW DEFINITION permission on the database and SELECT permission on sys.sql_expression_dependencies for the database. Le definizioni dell'oggetto di sistema, come quelle restituite in SELECT OBJECT_DEFINITION sono visibili pubblicamente.System object definitions, like the ones returned in SELECT OBJECT_DEFINITION, are publicly visible.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Acquisire le proprietà di visualizzazione tramite Esplora oggettiGet view properties by using Object Explorer

  1. In Esplora oggettifare 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 .In Object Explorer, click the plus sign next to the database that contains the view to which you want to view the properties, and then click the plus sign to expand the Views folder.

  2. Fare clic con il pulsante destro del mouse sulla vista di cui si vogliono visualizzare le proprietà e scegliere Proprietà.Right-click the view of which you want to view the properties and select Properties.

    Le seguenti proprietà vengono visualizzate nella finestra di dialogo Proprietà vista .The following properties show in the View Properties dialog box.

    DatabaseDatabase
    Nome del database contenente la vista.The name of the database containing this view.

    ServerServer
    Nome dell'istanza del server corrente.The name of the current server instance.

    UtenteUser
    Nome dell'utente della connessione.The name of the user of this connection.

    Data creazioneCreated date
    Indica la data di creazione della vista.Displays the date the view was created.

    NomeName
    Nome della vista corrente.The name of the current view.

    SchemaSchema
    Consente di visualizzare lo schema proprietario della vista.Displays the schema that owns the view.

    Oggetto di sistemaSystem object
    Indica se la vista è un oggetto di sistema.Indicates whether the view is a system object. I valori sono True e False.Values are True and False.

    ANSI NULLsANSI NULLs
    Indica se l'oggetto è stato creato con l'opzione ANSI NULLs.Indicates if the object was created with the ANSI NULLs option.

    CrittografataEncrypted
    Indica se la vista è crittografata.Indicates whether the view is encrypted. I valori sono True e False.Values are True and False.

    Identificatore delimitatoQuoted identifier
    Indica se l'oggetto è stato creato con l'opzione quoted identifier.Indicates if the object was created with the quoted identifier option.

    Associata a schemaSchema bound
    Indica se la vista è associata a uno schema.Indicates whether the view is schema-bound. I valori sono True e False.Values are True and False. Per informazioni sulle viste associate a schemi, vedere la sezione SCHEMABINDING diCREATE VIEW (Transact-SQL).For information about schema-bound views, see the SCHEMABINDING portion of CREATE VIEW (Transact-SQL).

Acquisizione di proprietà delle viste tramite lo strumento Progettazione visteGetting view properties by using the View Designer tool

  1. In Esplora oggettiespandere il database contenente la vista in cui si desidera visualizzare le proprietà, quindi espandere la cartella Viste .In Object Explorer, expand the database that contains the view to which you want to view the properties, and then expand the Views folder.

  2. Fare clic con il pulsante destro del mouse sulla vista di cui si vogliono visualizzare le proprietà e scegliere Progettazione.Right-click the view of which you want to view the properties and select Design.

  3. Fare clic con il pulsante destro del mouse sullo spazio vuoto del riquadro Diagramma, quindi scegliere Proprietà.Right-click in the blank space of the Diagram pane and click Properties.

    Le seguenti proprietà vengono visualizzate nel riquadro Proprietà .The following properties show in the Properties pane.

    (Nome)(Name)
    Nome della vista corrente.The name of the current view.

    Nome databaseDatabase Name
    Nome del database contenente la vista.The name of the database containing this view.

    DescrizioneDescription
    Breve descrizione della vista corrente.A brief description of the current view.

    SchemaSchema
    Consente di visualizzare lo schema proprietario della vista.Displays the schema that owns the view.

    Server NameServer Name
    Nome dell'istanza del server corrente.The name of the current server instance.

    Associa a schemaBind to 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.Prevents users from modifying the underlying objects that contribute to this view in any way that would invalidate the view definition.

    DeterministicoDeterministic
    Indica se il tipo di dati della colonna selezionata può essere determinato con certezzaShows whether the data type of the selected column can be determined with certainty

    Valori DistinctDistinct Values
    Viene specificato che tramite la query verranno esclusi i duplicati nella vista.Specifies that the query will filter out duplicates in the view. 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.This option is useful when you are using only some of the columns from a table and those columns might contain duplicate values, or when the process of joining two or more tables produces duplicate rows in the result set. Selezionare questa opzione equivale a inserire la parola chiave DISTINCT nell'istruzione del riquadro SQL.Choosing this option is equivalent to inserting the keyword DISTINCT into the statement in the SQL pane.

    Estensione GROUP BYGROUP BY Extension
    Viene specificato che sono disponibili opzioni aggiuntive per le viste basate su query di aggregazione.Specifies that additional options for views based on aggregate queries are available.

    Tutte le colonneOutput All Columns
    Viene mostrato se tutte le colonne vengono restituite dalla vista selezionata.Shows whether all columns are returned by the selected view. Questa proprietà viene impostata durante la creazione della vista.This is set at the time the view is created.

    Commento SQLSQL Comment
    Visualizza una descrizione delle istruzioni SQL.Shows a description of the SQL statements. Per visualizzare la descrizione completa o modificarla, fare clic su di essa, quindi sui puntini di sospensione (…) a destra della proprietà.To see the entire description, or to edit it, click the description and then click the ellipses (…) to the right of the property. Nei commenti è possibile specificare, ad esempio, quali utenti utilizzano la vista e quando.Your comments might include information such as who uses the view and when they use it.

    Specifica TOPTop Specification
    Si espande per visualizzare le proprietà Top, Espressione, Percentualee With TiesExpands to show properties for the Top, Expression, Percent, and With Ties properties.

    (In alto)(Top)
    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.Specifies that the view will include a TOP clause, which returns only the first n rows or first n percentage of rows in the result set. Per impostazione predefinita, nella vista vengono restituite le prime 10 righe del set di risultati.The default is that the view returns the first 10 rows in the result set. Utilizzare questa proprietà per modificare il numero di righe restituito o specificare una percentuale diversaUse this to change the number of rows to return or to specify a different percentage

    EspressioneExpression
    Visualizza la percentuale (se l'opzione Percentuale è impostata su ) o i record (se l'opzione Percentuale è impostata su No) restituiti dalla vista.Shows what percent (if Percent is set to Yes) or records (if Percent is set to No) that the view will return.

    PercentualePercent
    Specifica che la query includerà una clausola TOP che restituirà soltanto il primo n percento di righe del set di risultatiSpecifies that the query will include a TOP clause, returning only the first n percentage of rows in the result set

    With TiesWith Ties
    Specifica che la vista includerà una clausola WITH TIES .Specifies that the view will include a WITH TIES clause. WITH TIES è utile se nella vista sono incluse anche una clausola ORDER BY e una TOP basate sulla percentuale.WITH TIES is useful if a view includes an ORDER BY clause and a TOP clause based on percentage. 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.If this option is set, and if the percentage cutoff falls in the middle of a set of rows with identical values in the ORDER BY clause, the view is extended to include all such rows.

    Specifica aggiornamentoUpdate Specification
    Si espande per visualizzare le proprietà Aggiorna in base alle regole della vista e Opzione Check .Expands to show properties for the Update Using View Rules and Check Option properties.

    (Aggiorna in base alle regole della vista)(Update Using View Rules)
    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.Indicates that all updates and insertions to the view will be translated by Microsoft Data Access Components (MDAC) into SQL statements that refer to the view, rather than into SQL statements that refer directly to the view's base tables.

    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.In some cases, MDAC manifests view update and view insert operations as updates and inserts against the view's underlying base tables. Selezionando Aggiorna in base alle regole della vistaè possibile assicurarsi che tramite MDAC le operazioni di aggiornamento e inserimento vengano generate nella vista stessa.By selecting Update Using View Rules, you can ensure that MDAC generates update and insert operations against the view itself.

    Opzione CheckCheck Option
    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.Indicates that when you open this view and modify the Results pane, the data source checks whether the added or modified data satisfies the WHERE clause of the view definition. Se la modifica non soddisfa la clausola WHERE , verrà visualizzato un errore con ulteriori informazioni.If your modification do not satisfy the WHERE clause, you will see an error with more information.

Per acquisire dipendenze dalla vistaTo get dependencies on the view

  1. In Esplora oggettiespandere il database contenente la vista in cui si desidera visualizzare le proprietà, quindi espandere la cartella Viste .In Object Explorer, expand the database that contains the view to which you want to view the properties, and then expand the Views folder.

  2. Fare clic con il pulsante destro del mouse sulla vista di cui si vogliono visualizzare le proprietà e selezionare Visualizza dipendenze.Right-click the view of which you want to view the properties and select View Dependencies.

  3. Selezionare Oggetti che dipendono da [nome vista] per visualizzare gli oggetti che fanno riferimento alla vista.Select Objects that depend on [view name] to display the objects that refer to the view.

  4. Selezionare Oggetti da cui dipende [nome vista] per visualizzare gli oggetti a cui viene fatto riferimento dalla vista.Select Objects on which [view name] depends to display the objects that are referenced by the view.

Utilizzo di Transact-SQL Using Transact-SQL

Per acquisire la definizione e le proprietà di una vistaTo get the definition and properties of a view

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare uno degli esempi seguenti nella finestra della query, quindi fare clic su Esegui.Copy and paste one of the following examples into the query window and click Execute.

    USE AdventureWorks2012;  
    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 AdventureWorks2012;   
    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).For more information, see sys.sql_modules (Transact-SQL), OBJECT_DEFINITION (Transact-SQL) and sp_helptext (Transact-SQL).

Per acquisire le dipendenze di una vistaTo get the dependencies of a view

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

    USE AdventureWorks2012;  
    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).For more information, see sys.sql_expression_dependencies (Transact-SQL) and sys.objects (Transact-SQL).