Obtener información acerca de una vista

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Puede obtener información acerca de la definición o de las propiedades de una vista en SQL Server usando SQL Server Management Studio o Transact-SQL. Es posible que necesite ver la definición de la vista para entender cómo derivan sus datos de las tablas de origen o para ver los datos que ella misma define.

Importante

Si cambia el nombre de un objeto al que hace referencia una vista, deberá modificar ésta para que el texto refleje el nuevo nombre. Por lo tanto, antes de cambiar el nombre de un objeto, observe las dependencias del mismo a fin de determinar si el cambio propuesto afecta a alguna vista.

En este tema

Antes de empezar

Seguridad

Permisos

La utilización de sp_helptext para devolver la definición de una vista requiere la pertenencia al rol público . La utilización de sys.sql_expression_dependencies para buscar todas las dependencias de una vista requiere el permiso VIEW DEFINITION en la base de datos y el permiso SELECT en sys.sql_expression_dependencies para la base de datos. Las definiciones de objeto del sistema, como las que se devuelven en SELECT OBJECT_DEFINITION, son visibles de forma pública.

Uso de SQL Server Management Studio

Obtener las propiedades de la vista mediante el Explorador de objetos

  1. En el Explorador de objetos, seleccione el signo más situado junto a la base de datos que contiene la vista cuyas propiedades quiere ver y haga clic en el signo más para expandir la carpeta Vistas.

  2. Haga clic con el botón derecho en la vista cuyas propiedades quiere ver y seleccione Propiedades.

    Las propiedades siguientes se muestran en el cuadro de diálogo Propiedades de la vista .

    Base de datos
    Nombre de la base de datos que contiene esta vista.

    Server
    Nombre de la instancia de servidor actual.

    User
    Nombre del usuario de esta conexión.

    Fecha de creación
    Muestra la fecha en la que se creó la vista.

    Nombre
    Nombre de la vista actual.

    Esquema
    Muestra el esquema al que pertenece la vista.

    Objeto de sistema
    Indica si la vista es un objeto de sistema. Los valores son True y False.

    Valores NULL ANSI
    Indica si el objeto se ha creado con la opción Valores NULL ANSI.

    Cifrado
    Indica si la vista está cifrada. Los valores son True y False.

    Identificador entre comillas
    Indica si el objeto se ha creado con la opción Identificador entre comillas.

    Enlazada a un esquema
    Indica si la vista está enlazada a un esquema. Los valores son True y False. Para obtener más información sobre las vistas enlazadas a esquemas, consulte la sección SCHEMABINDING de CREATE VIEW (Transact-SQL).

Obtener propiedades de la vista con la herramienta Diseñador de vistas

  1. En el Explorador de objetos, expanda la base de datos que contiene la vista cuyas propiedades desea ver y, a continuación, expanda la carpeta Vistas .

  2. Haga clic con el botón derecho en la vista cuyas propiedades quiere ver y seleccione Diseño.

  3. Haga clic con el botón derecho en el espacio en blanco del panel Diagrama y seleccione Propiedades.

    En el panel Propiedades se muestran las propiedades siguientes.

    (Nombre)
    Nombre de la vista actual.

    Nombre de la base de datos
    Nombre de la base de datos que contiene esta vista.

    Descripción
    Descripción breve de la vista actual.

    Esquema
    Muestra el esquema al que pertenece la vista.

    Nombre de servidor
    Nombre de la instancia de servidor actual.

    Enlace a esquema
    Evita que los usuarios modifiquen los objetos subyacentes que contribuyen a esta vista de cualquier forma que invalide la definición de la vista.

    Determinista
    Muestra si se puede determinar con exactitud el tipo de datos de la columna seleccionada

    Valores DISTINCT
    Especifica que la consulta filtrará los duplicados en la vista. Esta opción es útil cuando solo se usan algunas columnas de una tabla y dichas columnas podrían contener valores duplicados, o cuando el proceso de combinar dos o más tablas genera filas duplicadas en el conjunto de resultados. Elegir esta opción equivale a insertar la palabra clave DISTINCT en la instrucción en el panel SQL.

    Extensión GROUP BY
    Especifica que están disponibles las opciones adicionales para vistas basadas en consultas de agregado.

    Todas las columnas
    Indica si la vista seleccionada devuelve todas las columnas. Esto se establece en el momento de crear la vista.

    Comentario de SQL
    Muestra una descripción de las instrucciones SQL. Para ver o editar la descripción completa, seleccione la descripción y después el botón de puntos suspensivos (...) situado a la derecha de la propiedad. Los comentarios pueden incluir información, como quién usa la vista y cuándo.

    Especificación superior
    Se expande para mostrar las propiedades Superior, Expresión, Porcentajey Con valores equivalentes .

    (Superior)
    Especifica que la vista incluirá una cláusula TOP, que solo devuelve las primeras n filas o el primer n por cierto de filas en el conjunto de resultados. De forma predeterminada, la vista devolverá las diez primeras filas en el conjunto de resultados. Use esto para cambiar el número de filas que se van a devolver o para especificar un porcentaje diferente.

    Expression
    Muestra qué porcentaje (si Porcentaje está establecido en ) o registros (si Porcentaje está establecido en No) devolverá la vista.

    Porcentaje
    Especifica que la consulta incluirá una cláusula TOP y solo devolverá el primer n por ciento de filas en el conjunto de resultados.

    Con valores equivalentes
    Especifica que la vista incluirá una cláusula WITH TIES . WITH TIES resulta útil si una vista incluye una cláusula ORDER BY y una cláusula TOP basadas en un porcentaje. Si se establece esta opción y el límite del porcentaje queda dentro de un conjunto de filas con valores idénticos en la cláusula ORDER BY , se ampliará la vista hasta que incluya todas esas filas.

    Especificación de actualización
    Se expande para mostrar las propiedades de Actualizar con reglas de vista y de Opción CHECK .

    (Actualizar con reglas de vista)
    Indica que Microsoft Data Access Components (MDAC) traducirá todas las actualizaciones e inserciones de la vista a instrucciones SQL que hacen referencia a la vista, en lugar de a las instrucciones SQL que hacen referencia directamente a las tablas base de la vista.

    En algunos casos, MDAC indica las operaciones de inserción y actualización de la vista como actualizaciones y las inserta en las tablas base subyacentes de la vista. Si selecciona Actualizar con reglas de vista, puede asegurarse de que MDAC generará las operaciones de inserción y actualización en la propia vista.

    Opción CHECK
    Indica que al abrir esta vista y modificar el panel Resultados , el origen de datos comprueba si los datos agregados o modificados cumplen la cláusula WHERE de la definición de la vista. Si la edición no cumple la cláusula WHERE , aparecerá un error con más información.

Para obtener las dependencias de la vista

  1. En el Explorador de objetos, expanda la base de datos que contiene la vista cuyas propiedades desea ver y, a continuación, expanda la carpeta Vistas .

  2. Haga clic con el botón derecho en la vista cuyas propiedades quiere ver y seleccione Ver dependencias.

  3. Seleccione Objetos que dependen de [nombre de vista] para mostrar los objetos que hacen referencia a la vista.

  4. Seleccione Objetos de los que depende [nombre de vista] para mostrar los objetos a los que hace referencia la vista.

Usar Transact-SQL

Para obtener la definición y propiedades de una vista

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue uno de los ejemplos siguientes en la ventana de consulta y seleccione Ejecutar.

    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';  
    

Para obtener más información, consulte sys.sql_modules (Transact-SQL), OBJECT_DEFINITION (Transact-SQL) y sp_helptext (Transact-SQL).

Nota:

El procedimiento almacenado del sistema sp_helptext no es compatible con Azure Synapse Analytics. En su lugar, use la vista de catálogo del objeto sys.sql_modules.

Para obtener las dependencias de una vista

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar.

    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  
    

Para obtener más información, consulte sys.sql_expression_dependencies (Transact-SQL) y sys.objects (Transact-SQL).