2010-05-25 15 views

risposta

55

Per terminare il set-off (con ciò che è già stato suggerito):

SELECT * FROM sys.views 

Questo dà proprietà extra su ogni vista, non disponibili da sys.objects (che contiene le proprietà comuni a tutti i tipi dell'oggetto) o INFORMATION_SCHEMA.VIEWS. Sebbene l'approccio INFORMATION_SCHEMA fornisca immediatamente la definizione della vista.

+0

Errore oggetto -Invalid nome 'sys.views'. Stavo interrogando il master DB. – Steam

+0

@Steam pubblica una domanda separata. – Gili

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

evitare di utilizzare i "sys.objects" generali - utilizzare i punti di vista più specifici, invece - 'sys.views' –

3

Eseguire questa aggiunta DatabaseName in condizione.

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

o rimuovere dove condizioni aggiungendo uso.

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

Fonte: 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

Qualche tempo è necessario accedere con schema nome, come ad esempio si utilizza AdventureWorks Database è necessario accedere con schemi.

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

Di gran lunga più utile dello standard "sys.views" . Non tutti eseguono il dump delle tabelle nello schema DBO – Damian

Problemi correlati