如何在不创建 table 来存储存储过程结果的情况下存储 sql 结果
How to store sql result without creating a table to store the result of a stored procedure
我们 运行 exec xp_fixeddrives
为与 SQL 服务器关联的每个物理驱动器免费获得 space。
我 运行 此代码是 SSIS 包的一部分,它免费获取所有 SQL 服务器 space。
目前我正在 tempdb
中创建一个 table 并将 exec xp_fixeddrives
的结果插入到这个 table 中。但我面临的问题是,每当服务器重新启动时,我都会面临访问问题,因为 table 处于 Tempdb
.
我不太喜欢在 Master
数据库或 Model
数据库中创建 table 的想法。我面临的一个挑战是我们在 SQL 服务器版本的不同实例上执行,范围从 2000 到 2014。所以显然有一些问题我必须牢记。
非常感谢对此提出任何建议。
很明显,只要 SQL 服务重新启动,SQL 服务器就会重置 TempDb。在这种情况下,您将面临访问问题,因为 table 将不存在。如果我还想存储历史检查信息,我可能会创建自己的 table 来存储详细信息。
如果您是 运行 来自 SSIS 的代码,并且想在验证后立即发送邮件,那么您甚至不必创建任何 table。只需从执行 SQL 任务中填充 SSIS 中的对象变量,该任务将在查询
下方 运行
DECLARE @t TABLE
(Drive VARCHAR(1),Size INT)
INSERT INTO @t
EXEC MASTER..xp_fixeddrives
SELECT * FROM @t
在脚本任务中读取此对象变量发送邮件。
我们 运行 exec xp_fixeddrives
为与 SQL 服务器关联的每个物理驱动器免费获得 space。
我 运行 此代码是 SSIS 包的一部分,它免费获取所有 SQL 服务器 space。
目前我正在 tempdb
中创建一个 table 并将 exec xp_fixeddrives
的结果插入到这个 table 中。但我面临的问题是,每当服务器重新启动时,我都会面临访问问题,因为 table 处于 Tempdb
.
我不太喜欢在 Master
数据库或 Model
数据库中创建 table 的想法。我面临的一个挑战是我们在 SQL 服务器版本的不同实例上执行,范围从 2000 到 2014。所以显然有一些问题我必须牢记。
非常感谢对此提出任何建议。
很明显,只要 SQL 服务重新启动,SQL 服务器就会重置 TempDb。在这种情况下,您将面临访问问题,因为 table 将不存在。如果我还想存储历史检查信息,我可能会创建自己的 table 来存储详细信息。
如果您是 运行 来自 SSIS 的代码,并且想在验证后立即发送邮件,那么您甚至不必创建任何 table。只需从执行 SQL 任务中填充 SSIS 中的对象变量,该任务将在查询
下方 运行DECLARE @t TABLE
(Drive VARCHAR(1),Size INT)
INSERT INTO @t
EXEC MASTER..xp_fixeddrives
SELECT * FROM @t
在脚本任务中读取此对象变量发送邮件。