use DBTESTE;
SELECT * FROM SYS.TABLES ;
Esse comando retorna a relação de tabelas do DB, existe um campo importante nessa consulta que é o "object_id", como ele você pode
Se vc quer descobrir dados de uma tabela basta executar:
sp_spaceused "table"
Essa sp exibe, respectivamente, o nome da tabela (name), número de linhas (rows), espaço reservado para a tabela (reserved), espaço usado pelos dados na tabela (data), espaço usado pelos indexes da tabela (index_size) e espaço sem uso na tabela (unused).
mas se você tiver uma DB com muitas tabelas você usar o seguinte comando:
DECLARE c CURSOR
FAST_FORWARD
FOR SELECT name
FROM sysobjects
WHERE xtype='U'
DECLARE @Name varchar(64)
OPEN c
FETCH NEXT FROM c INTO @Name
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC sp_spaceused @Name
FETCH NEXT FROM c INTO @Name
END
CLOSE c
DEALLOCATE c
contribuição de guialeixo (http://www.guj.com.br/java/216268-tamanho-da-tabela-em-mb-por-sqlresolvido/1)
buscando formas mais eficientes de ver as informações sobre as tabelas encontrei essa :
SELECT OBJECT_NAME(ID) TABELA, CONVERT(DEC(15),SUM(RESERVED)) RESERVED
INTO #X
FROM SYSINDEXES
WHERE indid in (0, 1, 255)
GROUP BY ID
SELECT TABELA, LTRIM(STR(RESERVED * D.LOW / 1024, 15, 0)) + ' KB'
FROM #X, master.dbo.spt_values d
where d.number = 1
and d.type = 'E'
ORDER BY RESERVED DESC
drop table #X
Nenhum comentário:
Postar um comentário