原来的代码是这样写的(也是从CSDN上找到的,但看得太多了,都忘记在哪里看到的了):SELECT OBJECT_NAME(i.object_id) AS TableName,data_pages*8 AS DataSize --这里返回的是数据页个数,1页是8K,所以乘以8 FROM sys.indexes as i JOIN sys.partitions as p ON p.object_id = i.object_id and p.index_id = i.index_id JOIN sys.allocation_units as a ON a.container_id = p.partition_id where i.object_id=OBJECT_ID('vehInsuInfo') OR i.object_id=OBJECT_ID('customer')我在master库里运行和在我自己建立的数据库里面运行,都报下面的错! 服务器: 消息 208,级别 16,状态 1,行 1 对象名 'sys.indexes' 无效。 服务器: 消息 208,级别 16,状态 1,行 1 对象名 'sys.partitions' 无效。 服务器: 消息 208,级别 16,状态 1,行 1 对象名 'sys.allocation_units' 无效。
@precommand=N'create table ##(
表名 sysname,
记录数 int,
保留空间 Nvarchar(10),
使用空间 varchar(10),
索引使用空间 varchar(10),
未用空间 varchar(10))',
@command1=N'insert ## exec sp_spaceused ''?''',
@postcommand=N'select * from ## order by 记录数 '
/*
表名 记录数 保留空间 使用空间 索引使用空间 未用空间
---------- ----------- ---------- ---------- ------------ ----------
discounts 3 16 KB 8 KB 8 KB 0 KB
stores 6 24 KB 8 KB 16 KB 0 KB
pub_info 8 160 KB 120 KB 16 KB 24 KB
publishers 8 24 KB 8 KB 16 KB 0 KB
jobs 14 24 KB 8 KB 16 KB 0 KB
titles 18 40 KB 8 KB 32 KB 0 KB
sales 21 40 KB 8 KB 32 KB 0 KB
authors 23 40 KB 8 KB 32 KB 0 KB
titleauthor 25 56 KB 8 KB 48 KB 0 KB
employee 43 40 KB 8 KB 32 KB 0 KB
roysched 86 32 KB 8 KB 24 KB 0 KB
*/
FROM sys.indexes as i
JOIN sys.partitions as p ON p.object_id = i.object_id and p.index_id = i.index_id
JOIN sys.allocation_units as a ON a.container_id = p.partition_id
where i.object_id=OBJECT_ID('vehInsuInfo') OR i.object_id=OBJECT_ID('customer')我在master库里运行和在我自己建立的数据库里面运行,都报下面的错!
服务器: 消息 208,级别 16,状态 1,行 1
对象名 'sys.indexes' 无效。
服务器: 消息 208,级别 16,状态 1,行 1
对象名 'sys.partitions' 无效。
服务器: 消息 208,级别 16,状态 1,行 1
对象名 'sys.allocation_units' 无效。