2010-05-25 9 views

Antwort

55

Um die Aufrechnung zu beenden (mit dem, was bereits vorgeschlagen wurde):

SELECT * FROM sys.views 

Diese auf jeder Ansicht zusätzliche Eigenschaften verleihen, nicht zur Verfügung von sys.objects (die Eigenschaften, die für alle Arten enthält Objekt) oder INFORMATION_SCHEMA.VIEWS. Obwohl der INFORMATION_SCHEMA-Ansatz die Ansichtsdefinition standardmäßig zur Verfügung stellt.

+0

Fehler -Invalid Objektnamen‚sys.views‘. Ich habe Master-DB abgefragt. – Steam

+0

@Steam posten eine separate Frage. – Gili

7
SELECT * 
FROM sys.objects 
WHERE type = 'V' 
+1

Versuchen Sie es mit der allgemeinen „sys.objects“ zu vermeiden - mit den spezifischeren Ansichten statt - 'sys.views' –

3

Führen Sie das Hinzufügen von DatabaseName in wo Bedingung.

SELECT TABLE_NAME, ROW_NUMBER() OVER(ORDER BY TABLE_NAME) AS 'RowNumber' 
    FROM INFORMATION_SCHEMA.VIEWS 
    WHERE TABLE_CATALOG = 'DatabaseName' 

oder entfernen Sie, wo Bedingung Verwendung hinzufügen.

use DataBaseName 

    SELECT TABLE_NAME, ROW_NUMBER() OVER(ORDER BY TABLE_NAME) AS 'RowNumber' 
    FROM INFORMATION_SCHEMA.VIEWS 
9
SELECT SCHEMA_NAME(schema_id) AS schema_name 
,name AS view_name 
,OBJECTPROPERTYEX(OBJECT_ID,'IsIndexed') AS IsIndexed 
,OBJECTPROPERTYEX(OBJECT_ID,'IsIndexable') AS IsIndexable 
FROM sys.views 
+0

Quelle: http://blog.sqlauthority.com/2010/10/29/sql-server-list-of-all-the-views-from-database/ – MikeTeeVee

1
select v.name 
from INFORMATION_SCHEMA.VIEWS iv 
join sys.views v on v.name = iv.Table_Name 
where iv.Table_Catalog = 'Your database name' 
1

Einige Zeit, die Sie mit schema Namen zugreifen müssen, als Beispiel Sie Adventureworks-Datenbank Sie mit Schema zugreifen müssen verwenden.

SELECT s.name +'.'+v.name FROM sys.views v inner join sys.schemas s on s.schema_id = v.schema_id 
+0

Bei weitem hilfreicher als der Standard "sys.views" . Nicht jeder gibt Tabellen im DBO-Schema aus – Damian

Verwandte Themen