我想在表格上使用sp_spaceused
程序。
此过程返回表的大小。
例如:
sp_spaceused
database_name database_size unallocated space
db_test 216001.00 MB 196366.74 MB
执行压缩后,我想调用该函数以找到压缩百分比。
我再次致电sp_spaceused.
如何在内部表示database_size以执行除法?
答案 0 :(得分:0)
您实际上可以将存储过程的结果存储在表中。将它们放入表格后,您可以根据需要对其进行操作。要将存储过程结果存入表中,首先需要创建一个包含与存储过程的结果集匹配的列的表。然后对表执行insert语句,而不是查询或值列表,执行存储过程。请注意,这只会将存储过程的第一个结果集放入表中。例如,你可以这样做:
create table HoldSpaceUsed
(
database_name sysname,
database_size varchar(100),
[unallocated space] varchar(100)
)
insert HoldSpaceUsed
exec sp_spacesused
执行上述语句后,HoldSpaceUsed表将包含存储过程结果。请记住,database_size字段的“MB”表示数据库大小以兆字节为单位,因此您需要修剪“MB”文本,以便只有数字,然后根据需要使用它。