Abrufen von Informationen zu einer Sicht

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Mithilfe von SQL Server Management Studio oder Transact-SQL können Sie Informationen über die Definition oder Eigenschaften einer Ansicht in SQL Server erhalten. Manchmal ist es erforderlich, die Definition einer Sicht anzuzeigen, um zu verstehen, wie die Daten in der Sicht aus den Quelltabellen abgeleitet werden, oder um die durch die Sicht definierten Daten anzuzeigen.

Wichtig

Wenn Sie den Namen eines Objekts ändern, auf das eine Sicht verweist, müssen Sie die Sicht so ändern, dass ihr Text den neuen Namen wiedergibt. Bevor Sie ein Objekt umbenennen, sollten Sie somit erst die Abhängigkeiten des Objekts anzeigen, um feststellen zu können, ob Sichten von der beabsichtigten Änderung betroffen sind.

In diesem Thema

Vorbereitungen

Sicherheit

Berechtigungen

Für die Verwendung von sp_helptext zum Zurückgeben der Definition einer Sicht ist die Mitgliedschaft in der Rolle Öffentlich erforderlich. Für die Verwendung von sys.sql_expression_dependencies zur Suche aller Abhängigkeiten von einer Sicht sind die Berechtigung VIEW DEFINITION für die Datenbank und die Berechtigung SELECT auf sys.sql_expression_dependencies für die Datenbank erforderlich. Systemobjektdefinitionen, wie die in SELECT OBJECT_DEFINITION zurückgegebenen Systemobjektdefinitionen, sind öffentlich sichtbar.

Verwendung von SQL Server Management Studio

Abrufen von Sichteigenschaften mit Objekt-Explorer

  1. Klicken Sie im Objekt-Explorer auf das Pluszeichen neben der Datenbank, die die Sicht enthält, deren Eigenschaften Sie anzeigen möchten, und klicken Sie dann auf das Pluszeichen, um den Ordner Ansichten zu erweitern.

  2. Klicken Sie mit der rechten Maustaste auf die Sicht, deren Eigenschaften Sie anzeigen möchten, und wählen Sie Eigenschaftenaus.

    Die folgenden Eigenschaften werden im Dialogfeld Sichteigenschaften angezeigt.

    Datenbank
    Name der Datenbank, die diese Sicht enthält.

    Server
    Name der aktuellen Serverinstanz.

    Benutzer
    Name des Benutzers dieser Verbindung.

    Erstellt am
    Zeigt das Datum an, an dem die Sicht erstellt wurde.

    Name
    Name der aktuellen Sicht.

    Schema
    Zeigt das Schema an, zu dem die Sicht gehört.

    Systemobjekt
    Gibt an, ob es sich bei der Sicht um ein Systemobjekt handelt. Die Werte sind True und False.

    ANSI NULLS
    Gibt an, ob das Objekt mit der Option ANSI NULLS erstellt wurde.

    Verschlüsselt
    Gibt an, ob die Sicht verschlüsselt ist. Die Werte sind True und False.

    Bezeichner in Anführungszeichen
    Gibt an, ob das Objekt mit der Option Bezeichner in Anführungszeichen erstellt wurde.

    Schema-gebunden
    Gibt an, ob die Sicht Schema-gebunden ist. Die Werte sind True und False. Informationen zu schemagebundenen Ansichten finden Sie im SCHEMABINDING-Teil von CREATE VIEW (Transact-SQL).For information about schema-bound views, see the SCHEMABINDING portion of CREATE VIEW (Transact-SQL).

Abrufen von Sichteigenschaften mit dem Tool Sicht-Designer

  1. Erweitern Sie in Objekt-Explorerdie Datenbank, die die Sicht enthält, deren Eigenschaften Sie anzeigen möchten, und erweitern Sie dann den Ordner Sichten .

  2. Klicken Sie mit der rechten Maustaste auf die Sicht, deren Eigenschaften Sie anzeigen möchten, und wählen Sie Entwurfaus.

  3. Klicken Sie mit der rechten Maustaste in den Leerraum des Diagrammbereichs, und klicken Sie auf Eigenschaften.

    Die folgenden Eigenschaften werden im Bereich Eigenschaften angezeigt.

    (Name)
    Name der aktuellen Sicht.

    Database Name
    Name der Datenbank, die diese Sicht enthält.

    Beschreibung
    Eine kurze Beschreibung der aktuellen Sicht.

    Schema
    Zeigt das Schema an, zu dem die Sicht gehört.

    Servername
    Name der aktuellen Serverinstanz.

    An Schema binden
    Verhindert, dass Benutzer die zugrunde liegenden Objekte ändern, die auf beliebige Weise zu dieser Sicht beitragen, was die Sichtdefinition ungültig machen würde.

    Deterministisch
    Zeigt, ob der Datentyp der ausgewählten Spalte mit Sicherheit bestimmt werden kann

    Unterschiedliche Werte
    Gibt an, dass die Abfrage alle Duplikate in der Sicht herausfiltert. Diese Option ist hilfreich, wenn Sie nur einige Spalten aus einer Tabelle verwenden und diese möglicherweise doppelte Werte enthalten, oder wenn die Verknüpfung von mehreren Tabellen eine Verdopplung von Zeilen im Resultset zur Folge hat. Das Aktivieren dieser Option ist gleichbedeutend mit dem Einfügen des Schlüsselworts DISTINCT in die Anweisung im SQL-Bereich.

    GROUP BY-Erweiterung
    Gibt an, dass zusätzliche Optionen für Sichten verfügbar sind, die auf Aggregatabfragen basieren.

    Alle Spalten ausgeben
    Zeigt an, ob alle Spalten von der ausgewählten Sicht zurückgegeben werden. Dies wird beim Erstellen der Sicht festgelegt.

    SQL-Kommentar
    Zeigt eine Beschreibung der SQL-Anweisungen an. Klicken Sie auf die Beschreibung und dann auf die Auslassungspunkte (...) rechts neben der Eigenschaft, um die ganze Beschreibung anzuzeigen oder sie zu bearbeiten. Kommentare können Informationen darüber enthalten, wer die Sicht verwendet und wann sie verwendet wird.

    Oberste Angabe
    Erweitert das Element, um die Eigenschaften für Oben, Ausdruck, Prozentund WITH TIES anzuzeigen.

    (Nach oben)
    Gibt an, dass die Sicht eine TOP-Klausel enthält, die bewirkt, dass nur die ersten N Zeilen oder ersten N Prozent der Zeilen im Resultset zurückgegeben werden. In der Standardeinstellung gibt die Sicht die ersten 10 Zeilen im Resultset zurück. Verwenden Sie dies, um die Anzahl der zurückzugebenden Zeilen zu ändern oder einen anderen Prozentwert anzugeben.

    Ausdruck
    Zeigt an, welchen Prozentsatz (wenn Prozent auf Jafestgelegt ist) oder welche Datensätze (wenn Prozent auf Neinfestgelegt wird) die Sicht zurückgegeben wird.

    Prozent
    Gibt an, dass die Abfrage eine TOP -Klausel enthält, von der nur die ersten N Prozent der Zeilen im Resultset zurückgegeben werden.

    WITH TIES
    Gibt an, dass die Sicht eine WITH TIES -Klausel enthält. WITH TIES ist hilfreich, wenn eine Sicht sowohl eine ORDER BY -Klausel als auch eine TOP -Klausel mit Prozentangabe enthält. Wenn diese Option festgelegt ist und der Prozentbereich in der Mitte einer Zeilenfolge mit identischen Werten in der ORDER BY -Klausel endet, wird die Sicht bis ans Ende der betreffenden Zeilenfolge erweitert.

    Spezifikation aktualisieren
    Erweitert, um Eigenschaften für die Eigenschaften Aktualisieren mit Sichtregeln und Überprüfungsoption anzuzeigen.

    (Aktualisieren mit Sichtregeln)
    Gibt an, dass alle Updates und Einfügungen für die Sicht von Microsoft Data Access Components (MDAC) in SQL-Anweisungen übersetzt werden, die auf die Sicht verweisen, statt in SQL-Anweisungen, die direkt auf die Basistabellen der Sicht verweisen.

    In einigen Fällen gibt MDAC Sichtaktualisierungen und Sichteinfügevorgänge als Aktualisierungen und Einfügungen für die zugrunde liegenden Basistabellen der Sicht bekannt. Durch Auswahl von Aktualisieren mit Sichtregelnwird gewährleistet, dass MDAC Aktualisierungs- und Einfügevorgänge für die Sicht selbst generiert.

    Überprüfungsoption
    Gibt an, dass beim Öffnen dieser Sicht und Ändern des Bereichs Ergebnisse die Datenquelle überprüft, ob die hinzugefügten oder geänderten Daten die WHERE-Klausel der Sichtdefinition erfüllen. Wenn die Änderung die WHERE -Klausel nicht erfüllt, erhalten Sie eine Fehlermeldung mit weiteren Informationen.

So rufen Sie Abhängigkeiten für die Sicht ab

  1. Erweitern Sie in Objekt-Explorerdie Datenbank, die die Sicht enthält, deren Eigenschaften Sie anzeigen möchten, und erweitern Sie dann den Ordner Sichten .

  2. Klicken Sie mit der rechten Maustaste auf die Sicht, deren Eigenschaften Sie anzeigen möchten, und wählen Sie Abhängigkeiten anzeigenaus.

  3. Wählen Sie Objekte, die von [Sichtname] abhängig sind aus, um die Objekte anzuzeigen, die auf die Sicht verweisen.

  4. Wählen Sie Objekte, von denen [Sichtname] abhängt aus, um die Objekte anzuzeigen, auf die von der Sicht verwiesen wird.

Verwenden von Transact-SQL

So rufen Sie die Definition und die Eigenschaften einer Sicht ab

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie eines der folgenden Beispiele, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.

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

Weitere Informationen finden Sie unter sys.sql_modules (Transact-SQL), OBJECT_DEFINITION (Transact-SQL) und sp_helptext (Transact-SQL).

Hinweis

Die gespeicherte Systemprozedur sp_helptext wird in Azure Synapse Analytics nicht unterstützt. Verwenden Sie stattdessen die sys.sql_modules-Objektkatalogsicht.

So rufen Sie die Abhängigkeiten einer Sicht ab

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen.

    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  
    

Weitere Informationen finden Sie unter sys.sql_expression_dependencies (Transact-SQL) und sys.objects (Transact-SQL).