正在对临时表使用sp_spaceused



我只想搜索订阅者数据(我想检查的数据还有很多临时表(,然后直接将临时表上sp_spaceused的结果插入另一个临时表中。然后,在它完成对来自大约100个不同临时表的所有数据空间和行的计数后,输出或计算结果

SELECT DISTINCT
t1.SubscriberGUID,
t1.ItemGUID_Entity,
t1.SubscriberID,
t1.SubscriberRegionID,
t1.SubscriberTypeID,
t1.ID,
t1.SubscriberNameFull,
t1.SubscriberEmail,
t1.SubscriberLogin,
t1.SubscriberPassword,
t1.Active,
t1.DateCreated,
t1.DateDeleted
INTO #Found_Subscriber
FROM (
SELECT t100.*, ROW_NUMBER() OVER(Order BY (SELECT 1)) AS 'RowNumber'
FROM
#AllSubscribers t100
) AS t1
WHERE t1.RowNumber = @I
CREATE TABLE #FileSize
(
[name] NVARCHAR(128),
[rows] INT,
[reserved] VARCHAR(18),
[data] VARCHAR(18),
[index_size] VARCHAR(18),
[unused] VARCHAR(18)
)

INSERT INTO #FileSize exec sp_spaceused #Found_Subscriber
INSERT INTO #FileSize exec sp_spaceused #Found_SubscriberInfo
...

但这是行不通的。它抛出一个错误:

Msg 15009,级别16,状态1,过程sp_spaceused,行120[批处理开始行0]数据库"d1"中不存在对象"#Found_Subscriber",此操作无效。

错误消息告诉您在错误的数据库中调用sp_spaceused。尝试:

EXEC tempdb.sys.sp_spaceused N'#Found_Subscriber';

最新更新