How to get the size of all tables in MSSQL

To get the size of all tables using MSSQL you can use the snippet below.

Sample MSSQL

SELECT 
    tab.NAME AS [Tablename],
    s.Name AS [Schema Name],
    part.rows AS [Count of Rows],
    SUM(a.total_pages) * 8 AS [Total Space in KB], 
    SUM(a.used_pages) * 8 AS [Used Space in KB], 
    (SUM(a.total_pages) - SUM(a.used_pages)) * 8  AS [Unused Space in KB]
FROM sys.tables tab
INNER JOIN sys.indexes idx ON tab.OBJECT_ID = idx.object_id
INNER JOIN sys.partitions part ON idx.object_id = part.OBJECT_ID AND idx.index_id = part.index_id
LEFT OUTER JOIN sys.schemas s ON tab.schema_id = s.schema_id
INNER JOIN sys.allocation_units a ON part.partition_id = a.container_id
WHERE tab.NAME NOT LIKE 'dt%' AND tab.is_ms_shipped = 0 AND idx.OBJECT_ID > 255 
GROUP BY tab.Name, s.Name, part.Rows
ORDER BY 4 DESC

Please rate this snippet

How to get a list of all tables in Oracle

To get a list of all tables in Oracle you can use the following query.

SELECT owner, table_name FROM dba_tables

if your user does not have sufficient access rights to query dba_tables, you can try to query all_tables which will only show you the tables you are allowed to see.

SELECT owner, table_name FROM all_tables

Please rate this snippet

How to list all views in database in MSSQL

To list all views in database in MSSQL you can use the following snippet.

Sample MSSQL

SELECT SCHEMA_NAME(schema_id) AS [schema],name AS [viewname] ,OBJECTPROPERTYEX(OBJECT_ID,'IsIndexed') AS [IsIndexed] ,OBJECTPROPERTYEX(OBJECT_ID,'IsIndexable') AS [IsIndexable], * FROM sys.views;

Please rate this snippet