Eu preciso saber quanto espaço em disco uma tabela está usando no SQL Server

votos
11

Eu acho que a maioria das pessoas sabe como fazer isso através da GUI (clique direito tabela, propriedades), mas fazer isso em T-SQL totalmente rochas.

Publicado 05/08/2008 em 20:10
fonte usuário
Em outras línguas...                            


3 respostas

votos
11

CREATE TABLE #tmpSizeChar (
     sysname table_name,
     row_count int,
     VARCHAR reserved_size (50),
     VARCHAR DATA_SIZE (50),
     VARCHAR index_size (50),
     unused_size VARCHAR (50))                              

CRIAR #tmpSizeInt TABLE (
     sysname table_name,
     row_count int,
     reserved_size_KB int,
     data_size_KB int,
     index_size_KB int,
     unused_size_KB int)   

SET NOCOUNT ON
INSERÇÃO IGNORE #tmpSizeChar
EXEC sp_msforeachtable 'sp_spaceused ''?' ''     

INSERÇÃO IGNORE INTO #tmpSizeInt (
        Nome da mesa,
        Contagem de linhas,
        reserved_size_KB,
        data_size_KB,
        index_size_KB,
        unused_size_KB
        )
SELECT [table_name],
        Contagem de linhas,
        CAST (SUBSTRING (reserved_size, 0, PATINDEX ( '%%', reserved_size)) como INT) reserved_size,
        CAST (SUBSTRING (DATA_SIZE, 0, PATINDEX ( '%%', DATA_SIZE)) como INT) DATA_SIZE,
        CAST (SUBSTRING (index_size, 0, PATINDEX ( '%%', index_size)) como INT) index_size,
        CAST (SUBSTRING (unused_size, 0, PATINDEX ( '%%', unused_size)) como INT) unused_size
DE #tmpSizeChar   

/ *
DROP TABLE #tmpSizeChar
DROP TABLE #tmpSizeInt
* /

* SELECT FROM #tmpSizeInt
ORDER BY reserved_size_KB DESC
Respondeu 05/08/2008 em 20:11
fonte usuário

votos
0

sp_spaceused tableName

onde tableName é o nome da tabela que você quer saber ....

Respondeu 14/01/2016 em 16:40
fonte usuário

votos
0

Confira isso, eu sei que funciona em 2005 ( MSDN Doc ):

Aqui está é para os pubs DB


select *
from pubs.sys.database_files

Retorna o tamanho e max_size.

Respondeu 05/08/2008 em 20:16
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more